命令行工具
Rstest 提供了一个轻量级的命令行工具,包含 rstest watch 和 rstest run 等命令。
rstest -h
rstest -h 可帮助你查看所有可用的 CLI 命令及选项:
输出如下:
Usage:
$ rstest [...filters]
Commands:
[...filters] run tests
run [...filters] run tests without watch mode
watch [...filters] run tests in watch mode
list [...filters] lists all test files that Rstest will run
Options:
-w, --watch Run tests in watch mode
-h, --help Display this message
-v, --version Display version number
-c, --config <config>
...
rstest [...filters]
直接运行 rstest 命令将会在当前目录执行 Rstest 测试。
$ npx rstest
✓ test/index.test.ts (2 tests) 1ms
Test Files 1 passed (1)
Tests 2 passed (2)
Duration 189 ms (build 22 ms, tests 167 ms)
Watch 模式
如果你希望在文件更改时自动重新运行测试,可以使用 --watch 或 rstest watch 命令:
rstest run
rstest run 将会执行单次测试,该命令适用于 CI 环境或不需要一边修改一边执行测试的场景。
rstest watch
rstest watch 将会启动监听模式并执行测试,当测试或依赖文件修改时,将重新执行关联的测试文件。
rstest list
rstest list 将会打印所有匹配条件的测试列表。默认情况下,它将打印所有匹配条件的测试名称。
$ npx rstest list
# 输出如下:
a.test.ts > test a > test a-1
a.test.ts > test a-2
b.test.ts > test b > test b-1
b.test.ts > test b-2
rstest list 命令继承所有 rstest 过滤选项,你可以直接过滤文件或使用 -t 过滤指定的测试名称。
$ npx rstest list -t='test a'
# 输出如下:
a.test.ts > test a > test a-1
a.test.ts > test a-2
你可以使用 --filesOnly 使其仅打印测试文件:
$ npx rstest list --filesOnly
# 输出如下:
a.test.ts
b.test.ts
你可以使用 --json 使其以 JSON 格式打印测试或将结果保存到单独的文件中:
$ npx rstest list --json
$ npx rstest list --json=./output.json
您可以使用 --includeSuites 选项,在打印测试用例的同时输出测试套件信息:
$ npx rstest list
# 输出如下:
a.test.ts > test a
a.test.ts > test a > test a-1
a.test.ts > test a-2
b.test.ts > test b
b.test.ts > test b > test b-1
b.test.ts > test b-2
您可以使用 --printLocation 选项来打印测试的位置信息:
$ npx rstest list
# 输出如下:
a.test.ts:4:5 > test a > test a-1
a.test.ts:9:3 > test a-2
b.test.ts:4:5 > test b > test b-1
b.test.ts:9:3 > test b-2
CLI 选项
Rstest CLI 支持以下常用参数,所有命令均可使用:
CLI 快捷键
在 watch 模式下运行 Rstest 时,你可以使用键盘快捷键来执行各种便捷操作。
所有快捷键:
Shortcuts:
f rerun failed tests
a rerun all tests
u update snapshot
t filter by a test name regex pattern
p filter by a filename regex pattern
q quit process
c clear screen
h show shortcuts help
Note
CLI 快捷键仅在 watch 模式下运行 Rstest(rstest watch 或 rstest --watch)且终端支持 TTY(交互模式)时可用。