@endo/ses-ava
赛-阿瓦 包装 AVA test 函数并初始化 SES-shim 选项
适合调试测试。 这包括控制台的日志错误
- 上个回合的深叠
- 未编辑的堆栈跟踪
- 未编辑错误消息
要使用此模块, 在您的 AVA 测试文件中, 替换
import 'ses'; // or however you initialize the SES-shim
import test from 'ava';
与
import test from '@endo/ses-ava/prepare-endo.js';
添加
"devDependencies": {
// ...
"@endo/ses-ava": "...", // for the current version of @endo/ses-ava
// ...
},
具体到"依赖". @endo/ses-ava 本身依赖于 AVA 作为 正常的依赖,所以您包括 @ endo/ses- ava 常规 依赖,捆绑者可能会把你的代码 与所有的AVA.
SES-AVA与尼尼微押韵.
支持多种配置
SES-AVA还提供了一个命令行工具, ses-ava,可以运行 AVA 与
单个命令中的多个配置, 截取标记以过滤
用于有趣的配置.
这个 ses-ava 命令消耗 "ava" 和(新设) "sesAvaConfigs" 属性
内 package.json 来发现和命名支持的配置
参考文献 --only 财务报告和审定财务报表 --exclude 备选案文(和各自的 -o 财务报告和审定财务报表
-x 缩写) "ava" 配置为 default如果有的话.
在适当的配置下,包可以运行许多相同的测试
有无初始化的远藤环境.
这对远藤有用 硬化模块: 使用模块 harden 改为
捍卫其接口的完整性,视
关于是否与HardenedJS的 lockdown。 。 。 .
对于不论环境如何可能使用的测试,SES-AVA提供
a 一个 @endo/ses-ava/test.js 模块.
它输出 test 从 ava 默认.
但随着 node 条件 ses-ava:endo,它输出一个包裹 test
无法校正错误, 因此测试会看到原始错误消息
否则会被SES的Assert机械所校正.
import test from '@endo/ses-ava/test.js';
SES-AVA 然后允许不同的AVA配置设置不同的
环境.
例如 lockdown 配置可能看起来像 :
export default {
require: ['@endo/ses-ava/prepare-endo-config.js'],
nodeArguments: ['-C', 'ses-ava:endo']
};
这依赖于SES-AVA来初始化一个
远藤环境,包括SES shims和意外发送 shim,以及
登记包裹的 SES-AVA test 声明器,可以解析错误
assert shim 从SES 生成的消息.
如果测试不导入 @endo/ses-ava/test.js,则需要
@endo/ses-ava/prepare-endo-config.js 确保环境充分
已初始化.
在远藤寄存器的根部,看看 ava-*.config.mjs 模块
例如配置.
然后,进入 package.json我们可以使用 ses-ava 改为 ava。 。 。 .
{
"scripts": {
"test": "ses-ava",
"test:c8": "c8 ${C8_OPTIONS:-} ses-ava"
},
"avaConfigs": {
"lockdown": "test/_ava-lockdown.config.mjs",
"unsafe": "test/_ava-lockdown-unsafe.config.mjs",
}
}
有了这个配置, ses-ava ...args --exclude lockdown 财务报告和审定财务报表 ses-ava ...args --only unsafe {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}会把那些.. unsafe 配置 .
使用 ses-ava 下级 c8 允许所有配置覆盖已使用的代码.
兼容性
如果你已经使用 @endo/ses-ava 这样做
import 'ses'; // or however you initialize the SES-shim
import rawTest from 'ava';
import { wrapTest } from '@endo/ses-ava';
const test = wrapTest(rawTest);
密码会继续有效 但应该升级到上面 可能的话,模式.