Repolode
avajs

avajs/ava

AVA 是一个面向 Node.js 的并发测试运行器,API 简洁,错误输出详细,并支持按文件进行线程隔离。

可替代:Jest

Star
20,825
Fork
1,466
未关闭 Issue
75
最近提交
前天

这是什么?

AVA 是一个用于 Node.js 的测试运行器,目标是让测试代码保持简洁,同时输出易读的失败信息。测试通过 `test()` 函数和 `t` 执行上下文上的断言编写,测试函数既可以返回 Promise,也可以是 async 函数。

每个测试文件都在独立的环境中运行,测试默认并发执行,并鼓励编写原子化的测试且不使用隐式全局变量。断言失败时会显示代码片段,并对对象、数组和字符串给出清晰的差异对比;堆栈信息会去掉无关行。在 CI 中,AVA 能识别支持的环境,并将测试文件分配到多个并行构建任务中。

AVA 内置 TypeScript 类型定义、TAP 报告器、监视模式和快照测试。它需要安装在项目本地,通过 `test` 脚本或 `npx ava` 运行。

核心功能

  • 01测试并发执行,每个测试文件拥有独立环境
  • 02Magic assert 提供代码片段和语法高亮的差异对比
  • 03精简堆栈信息,隐藏无关行
  • 04在支持的 CI 环境中自动将测试拆分到并行构建
  • 05内置 TypeScript 类型定义、TAP 报告器和监视模式

适用场景

  • 为 Node.js 库或后端服务编写单元测试
  • 在并行 CI 构建中快速运行大型测试套件
  • 使用自带类型定义测试 TypeScript 项目

快速上手

  1. 1

    在项目中安装并设置 AVA

    npm init ava
  2. 2

    在项目根目录创建包含测试的 test.js 文件

  3. 3

    运行测试

    npm test

使用前须知

  • AVA 无法全局运行,必须在每个项目中本地安装。
  • 文档假定你使用 ES 模块。

收录于专题

标签

常见问题

ava 是什么?
AVA 是一个面向 Node.js 的并发测试运行器,API 简洁,错误输出详细,并支持按文件进行线程隔离。 AVA 是一个用于 Node.js 的测试运行器,目标是让测试代码保持简洁,同时输出易读的失败信息。测试通过 `test()` 函数和 `t` 执行上下文上的断言编写,测试函数既可以返回 Promise,也可以是 async 函数。
ava 可以免费使用吗?用的什么许可证?
ava 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
ava 还在维护吗?
活跃维护中。ava 最近一次提交是在 2026年10月23日。
ava 适合用来做什么?
为 Node.js 库或后端服务编写单元测试 在并行 CI 构建中快速运行大型测试套件 使用自带类型定义测试 TypeScript 项目
ava 怎么安装和运行?
在项目中安装并设置 AVA: npm init ava 在项目根目录创建包含测试的 test.js 文件 运行测试: npm test
在哪里获取 ava?
源代码和安装说明在 GitHub 上:https://github.com/avajs/ava

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目