jtenner/as-pect - @ as-pect/cli (英语)
将您的模块写入 AssemblyScript 并进行快速的靴子测试 以 Web Assembly 速度执行 !
文档
要查看文件,它的位置是 这里 在图书上。 如果医生有任何问题,请随意提出问题!
测试会话词汇
CLI 驱动每个测试会话从配置到报告输出. as-pect.config.js 定义测试会话条目计划, JavaScript- side Wasm 主机导入通过 instantiate(...)记者,WASI的选项, 覆盖光,和输出行为. as-pect.asconfig.json 保留用于为每个计划条目制作编译器输出的AssemblyScript编译器配置.
快照文件路径和写入模式是测试会话快照计划的一部分. 截图通过/失败和更新决定来自Snapshot的生命周期 @as-pect/snapshots 在 CLI 撰写文件之前 .
CLI 过滤器
使用 asp --test <regex> 或者说 asp -t <regex> 运行名称与正则表达式相匹配的测试。 使用 asp --group <regex> 或者说 asp -g <regex> 以运行名称与正则表达式相匹配的组。 这些选项作为过滤模式消耗以下参数;所剩位置参数仍作为测试会话条目 globs处理.
记者输出格式
使用 asp --junit 将 JUnit XML 文件写入测试输入 JUnit 类单元测试报告的 CI 系统的条目。 您也可以明确安装/选择软件包 asp --reporter @as-pect/junit-reporter。记者地图 套接字报告事实 testsuite, (中文(简体) ), testcase, (中文(简体) ), failure, (中文(简体) ), error, (中文(简体) ), skipped,以及 system-out 要素.
使用 asp --ctrf 用于测试吞入通用测试报告格式的工具条目的 CTRF JSON 文件。 您也可以明确安装/选择软件包 asp --reporter @as-pect/ctrf-reporter. CTRF 产出用途 .ctrf.json 文档,包括 reportFormat, (中文(简体) ), specVersion, (中文(简体) ), results.tool, (中文(简体) ), results.summary,以及 results.tests,并且只将事实嵌入 extra.asPect。 。 。 .
使用 asp --json 用于当前 pECT 遗留的 JSON v1 数组格式。 它仍然与CTRF分开,因此现有的JSON消费者保留他们目前的合同. 见 ../json-reporter/readme.md 为全场形状.
@as-pect/csv-reporter 为电子表格式工作流程编写 CSV v1 表格导出。 它保留了列顺序 Group, (中文(简体) ), Name, (中文(简体) ), Ran, (中文(简体) ), Negated, (中文(简体) ), Pass, (中文(简体) ), Runtime, (中文(简体) ), Message, (中文(简体) ), Actual, (中文(简体) ), Expected 并且不声称CSV是跨工具测试结果标准. 见 ../csv-reporter/readme.md 全栏和价值合同.
代码覆盖
as-pect 用途 as-covers 用于AssemblyScript行和分支覆盖. 这个 asp --init 模板已经创建 as-pect.asconfig.json 有两个编译器目标:
noCoverage,只运行@as-pect/transform变身.coverage中添加@as-covers/assembly支持库和@as-covers/transform转换前@as-pect/transform。 。 。 .
通过解析或添加 coverage 缩略语列表 as-pect.config.js数字 :
export default {
// ...the rest of your as-pect config
coverage: ["assembly/**/*.ts"],
};
何时 coverage 非空无一物, asp 使用 coverage 目标,安装 as-covers 输入时,将每个测试模块登记为 as-covers,并在运行后打印覆盖报告.
如果你保持习惯 as-pect.asconfig.json,确保它包含来自init模板的覆盖目标形状:
{
"targets": {
"coverage": {
"lib": ["./node_modules/@as-covers/assembly/index.ts"],
"transform": ["@as-covers/transform", "@as-pect/transform"]
},
"noCoverage": {
"transform": ["@as-pect/transform"]
}
}
}
AssemblyScript 编译器选项
as-pect.config.js 配置测试会话条目计划、 Wasm 主机导入、记者、 WASI、 覆盖和输出行为。 这不是一个 asc 编译器配置文件 .
设置 AssemblyScript 编译器选项,包括 asc --lib 选项,在 as-pect.asconfig.json。 。 。 . asp 引用带有该文件的编译器并选择其中之一 noCoverage 目标或目标 coverage 因此,在所运行的目标上必须存在针对特定目标的选项.
例如,在这样的测试中添加自定义库组件 :
{
"targets": {
"coverage": {
"lib": ["./assembly/test-lib", "./node_modules/@as-covers/assembly/index.ts"],
"transform": ["@as-covers/transform", "@as-pect/transform"]
},
"noCoverage": {
"lib": ["./assembly/test-lib"],
"transform": ["@as-pect/transform"]
}
},
"options": {
"exportMemory": true,
"outFile": "output.wasm",
"textFile": "output.wat",
"bindings": "raw",
"exportStart": "_start",
"exportRuntime": true,
"use": ["RTRACE=1"],
"debug": true,
"exportTable": true
},
"extends": "./asconfig.json",
"entries": ["./node_modules/@as-pect/assembly/assembly/index.ts"]
}
继续使用 as-pect.config.js 用于 JavaScript- side WebAssembly 导入 instantiate(...)启用 as-pect.asconfig.json 为 AssemblyScript 侧编译时间输入,例如 lib, (中文(简体) ), path, (中文(简体) ), transform,以及 use。 。 。 .
贡献者
请看 捐款额。 。 。 .
感谢 @ willemneal (英语) 财务报告和审定财务报表
@ 麦克斯格雷 给予他们一切支持 as-pect 页:1
最好的软件.
其他贡献者:
- @trusktr (英语) - 文档更改
- @ 麦克斯格雷 - API绩效建议
- @torch2424 (英语) - 文档更改
- @dcodeio (英语) - 自己编的大会文稿!
- @ 9oelM (英语) - 杂项功能
特别 谢谢
特别感谢 大会脚本 团队创建 AssemblyScript 本身.