Javascript

自动化测试(五)04-js测试框架AVA——查看ava支持的cli参数之npx ava --help &文件匹配-match &TAP报告&快照功能-snapshots目录 &设置超时-timeout

本文主要是介绍自动化测试(五)04-js测试框架AVA——查看ava支持的cli参数之npx ava --help &文件匹配-match &TAP报告&快照功能-snapshots目录 &设置超时-timeout,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

自动化测试(五)04-js测试框架AVA——查看ava支持的cli参数之npx ava --help & 文件匹配-match & TAP报告 & 快照功能-snapshots目录 & 设置超时-timeout

CLI命令

参考指令——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'

匹配foobar:开头或结尾的标题:

npx ava --match ='foo *' -  match ='* bar'

关于reporter

默认情况下,AVA使用最小的报告:

在这里插入图片描述

使用该--verbose标志启用详细的报告者。除非启用TAP报告,否则始终在CI环境中使用此选项。

在这里插入图片描述

TAP报告(推荐)

AVA支持TAP格式,因此与任何TAP报告器兼容。使用该--tap标志启用TAP输出。

$ npx ava --tap | npx tap-nyan

在这里插入图片描述

这里有一些格式:

  • tap-dot - Dotted output.
  • tap-spec - Mocha-like spec reporter.
  • tap-nyan - Nyan cat.
  • tap-min - Minimal output.
  • tap-difflet - Minimal output with diffing.
  • tap-diff - Human-friendly output with diffing.
  • tap-simple - Simple output.
  • faucet - Human-readable summarizer.
  • tap-mocha-reporter - Use any of the Mocha reporters.
  • tap-summary - Summarized output.
  • tap-pessimist - Only shows failed tests.
  • tap-prettify - Nice readable output with diffing.
  • tap-colorize - Colorize the output while preserving machine-readability.
  • tap-bail - Bail out when the first test fails.
  • tap-notify - Notifier for macOS, Linux and Windows.
  • tap-json - JSON output.
  • ava-tap-json - JSON output with AVA compatibility.
  • tap-xunit - xUnit output.
  • tap-teamcity - Output for TeamCity.

快照功能

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
});
这篇关于自动化测试(五)04-js测试框架AVA——查看ava支持的cli参数之npx ava --help &文件匹配-match &TAP报告&快照功能-snapshots目录 &设置超时-timeout的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!