@as-pect/cli

中文文档
9.0.0发布于 2026/06/18MITTypeScriptES Module近 30 天下载 1.3万

在快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快

中文使用文档
文档目录8 节
  1. 文档
  2. 测试会话词汇
  3. CLI 过滤器
  4. 记者输出格式
  5. 代码覆盖
  6. AssemblyScript 编译器选项
  7. 贡献者
  8. 特别 谢谢

jtenner/as-pect - @ as-pect/cli (英语)

Test Coverage Status Changesets

将您的模块写入 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 最好的软件.

其他贡献者:

特别 谢谢

特别感谢 大会脚本 团队创建 AssemblyScript 本身.

版本与发布记录

@as-pect/cli 共发布 61 个版本,首次发布于 2019/07/15;过去 12 个月发布了 1 个版本。

版本发布日期距今
9.0.0latest2026/06/184 个月前
8.1.02023/04/193 年前
8.0.12022/12/133 年前
8.0.02022/11/153 年前
7.0.82022/09/144 年前
7.0.72022/09/024 年前

关于 @as-pect/cli 的常见问题

@as-pect/cli 是什么?

在快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快

如何安装 @as-pect/cli?

在项目目录运行 npm install @as-pect/cli,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:assemblyscript(^0.28.19)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。它还提供命令行工具 asp、aspect,可以用 npx asp 直接运行。

@as-pect/cli 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@as-pect/cli 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@as-pect/cli 可以商用吗?

@as-pect/cli 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@as-pect/cli 的下载量有多少?

根据 npm 官方下载统计,@as-pect/cli 在 2026/10/07 – 2026/11/05 这 30 天内被下载 13,128 次,日均约 438 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@as-pect/cli 还在维护吗?

最新版本 9.0.0 发布于 2026/06/18(4 个月前);至今共发布 61 个版本,其中过去 12 个月发布了 1 个;首次发布于 2019/07/15。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。