参考指令——https://github.com/sindresorhus/awesome-tap#reporters
使用--help
命令去查看ava支持的cli参数
➜ npx ava --help Testing can be a drag. AVA helps you get it done. Usage ava [<file> ...] Options --watch, -w Re-run tests when tests and source files change --match, -m Only run tests with matching title (Can be repeated) --update-snapshots, -u Update snapshots --fail-fast Stop after first test failure --timeout, -T Set global timeout (milliseconds or human-readable, e.g. 10s, 2m) --serial, -s Run tests serially --concurrency, -c Max number of test files running at the same time (Default: CPU cores) --verbose, -v Enable verbose output --tap, -t Generate TAP output --color Force color output --no-color Disable color output --reset-cache Reset AVA's compilation cache and exit --config JavaScript file for AVA to read its config from, instead of using package.json or ava.config.js files Examples ava ava test.js test2.js ava test-*.js ava test The above relies on your shell expanding the glob patterns. Without arguments, AVA uses the following patterns: **/test.js **/test-*.js **/*.spec.js **/*.test.js **/test/**/*.js **/tests/**/*.js **/__tests__/**/*.js
使用match
指令,匹配对应需要测试的文件:
匹配标题以foo
:结尾
npx ava --match ='* foo'
匹配标题以foo
:
npx ava --match ='foo *'
匹配标题包含foo
:
npx ava --match ='* foo *'
匹配是完全相同 foo
:
npx ava --match ='foo'
匹配标题不包含foo
:
npx ava --match ='!* foo *'
匹配以下foo
结尾的标题bar
:
npx ava --match ='foo * bar'
匹配foo
以bar
:开头或结尾的标题:
npx ava --match ='foo *' - match ='* bar'
默认情况下,AVA使用最小的报告:
使用该--verbose
标志启用详细的报告者。除非启用TAP报告,否则始终在CI环境中使用此选项。
TAP报告(推荐)
AVA支持TAP格式,因此与任何TAP报告器兼容。使用该--tap
标志启用TAP输出。
$ npx ava --tap | npx tap-nyan
这里有一些格式:
ava自动进行项目测试快照,如果文件放置在test
或者tests
目录,则快照会放置在snapshots
目录。如果测试放置在__test__
目录,则快照放置在__snapshots__
目录
ava --update-snapshots
可以指定一个固定位置,以便在AVA的package.json
配置中存储快照文件:
package.json:
{ "ava":{ "snapshotDir":"自定义目录" } }
AVA中的超时行为与其他测试框架中的行为不同。AVA在每次测试后重置计时器,如果在指定的超时内没有收到新的测试结果,则强制测试退出。这可用于处理停滞的测试。
没有默认超时。
您可以配置使用超时--timeout
命令行选项,或配置文件中设置。它们可以以人类可读的方式设置:
# 10秒 npx ava --timeout = 10s # 2分钟 npx ava --timeout = 2m # 100毫秒 npx ava --timeout = 100
还可以为每个测试单独设置超时。每次进行断言时都会重置这些超时。
test('foo', t => { t.timeout(100); // 100 milliseconds // Write your assertions here });