Jest CLI Options
jest
命令行运行器拥有诸多有用的选项。 运行jest --help
可以查看所有可用的选项 下面所示选项都可一起使用,以你想要的方式来运行测试。 每一条 Jest 的 配置选项 都可以通过命令行来指定.
大致简述如下:
在命令行运行 #
运行所有测试(默认)
<code>jest</code>
</code>
仅运行符合指定用模板或文件名的测试︰
jest my-test #or
jest path/to/my-test.js
运行基于 hg/git (未提交的文件) 修改的文件的测试︰
jest -o
运行类似 path/to/fileA.js
和 path/to/fileB.js
的测试︰
jest --findRelatedTests path/to/fileA.js path/to/fileB.js
运行匹配特定名称的测试用例(主要是匹配 describe
或 test
的名称)。
jest -t name-of-spec
运行监视模式︰
jest --watch #runs jest -o by default jest --watchAll #runs all tests
监视模式还能够指定名称或文件路径,从而运行特定的一组测试。
使用npm脚本 #
通过 npm test
来运行jest,你可以插入在npm test
和Jest命令行参数间插入 --
. 原本:
jest -u -t="ColorPicker"
现在你可以使用
npm test -- -u -t="ColorPicker"
CLI 选项优先使用 Configuration里的参数。
选项 #
参考 #
jest <regexForTestFiles>
#
当你在运行 jest
时附加参数,参数会以正则表达式来匹配项目中的文件。 可通过提供的模式来运行测试。 只会选择并运行匹配模式的测试文件。 注︰ 据你的运行终端而定,你可能需要先运行该参数︰jest "my.*(complex)?pattern
.。
--bail
#
或: -b
. 只要一有测试不通过,立马退出测试套件。
--cache
#
是否使用缓存。 默认值为 true。 使用 --no-cache
来禁止缓存。 注意︰ 仅在遇到缓存相关的问题时禁用缓存。 一般来说,禁用缓存会令Jest运行至少慢两倍。
If you want to inspect or clear the cache, use --showConfig
and look at the cacheDirectory
value.
--ci
#
指定该参数时,Jest会认为正在CI环境上运行。 当遇到新的快照时,这会改变原来的行为。 不再是自动的保存新的快照,取而代之的是,它会将测试标记失败,并要求运行Jest时增加--updateSnapshot
参数。
--collectCoverageFrom=<glob>
#
使用glob模式,从根目录起,根据匹配文件生成测试覆盖报告。
--colors
#
即便stdout不是TTY模式, 也要强制高亮显示测试结果。
--config=<path>
#
或: -c
. Jest配置文件的路径定义了如何查找和执行测试。 如果没有设置 rootDir
,当前目录被假定为项目的根目录。 这也可以是 JSON 编码的值,Jest可以将其设为基本配置。
--coverage
#
将测试覆盖率信息输出为报告。
--debug
#
显示出你Jest配置的调试信息。
--env=<environment>
#
所有测试都使用该测试环境设定。 可以指向任何文件或者node模块。 例如jsdom
, node
or path/to/my-environment.js
--expand
#
别名︰ -e
。使用该参数来对比完整的差异和错误,而非修复。
--findRelatedTests <spaceSeparatedListOfSourceFiles>
#
寻找并运行以参数传入以空格分割的源代码列表的测试。对于预先提交修改文件来说, 最小量运行相关修改测试是很有必要的。
--forceExit
#
强制Jest在所有测试运行完后退出。 对于一些由测试所生成但无法充分清理的资源来说,这是很有用的。 注意︰ 此功能是escape-hatch。 如果Jest在测试运行最后没有退出,那就意味着外部资源还是被占用,又或是计时器还尚在你的代码中待令。 为了确保Jest可以完全关闭,建议你在每个测试后都关闭用到的外部资源。
--help
#
显示帮助信息,类似于本页文档。
--json
#
以JSON模式显示测试结果。 该模式会包其他所有测试和用户信息都发送到stderr。
--outputFile=<filename>
#
通过 — — json
参数可以将测试结果写入到指定文件。
--lastCommit
#
将运行在上次提交文件更改后的所有测试。
--listTests
#
通过JSON的形式列出所有将要运行的测试并退出. 与--findRelatedTests
一起使用可以知道那个测试将要运行
--logHeapUsage
#
记录每个测试后的记录堆使用情况。 主要用来调试内存泄漏。 与 --runInBand
和 --expose-gc
一起使用.
--maxWorkers=<num>
#
别名︰ -w
。 设定运行测试的最大工作池数目。 默认为你的计算机上可用的内核的数量。 在低配资源下进行相关调整是很有必要的, 比如CIs。但默认值应该适用于多数用户。
--noStackTrace
#
禁止栈跟踪信息在测试结果输出中。
--notify
#
激活测试结果通知。特别是当你不想专心致志等待 JavaScript 测试结果时。
--onlyChanged
#
或: -o
. 尝试确定根据当前存储库中哪些已经更改的文件来运行的测试。 只有在此刻 git/hg 存储库中运行测试,需要静态依赖关系图时有用(例如. 无动态要求)。
--projects <project1> ... <projectN>
#
从一个或多个项目中运行测试。
--runInBand
#
或: -i
. 仅在当前的进程中连续运行所有测试,而非通过创建的子进程的工作池来运行测试。在调试中很有用处。
--setupTestFrameworkScriptFile=<file>
#
指定一个模块的路径,在每一个测试执行前设置测试框架。注意:运行测试期间,由设置脚本导入的文件不会被mocked。
--showConfig
#
输出Jest配置,然后退出。
--silent
#
阻止所有测试通过控制台输出信息。
--testNamePattern=<regex>
#
或: -t
. 仅运行文件名与匹配正则表达式所匹配的测试。
--testPathPattern=<regex>
#
在运行测试前,匹配的regexp模式字符串的测试文件路径。
--testRunner=<path>
#
允许你指定自定义测试运行程序。
--updateSnapshot
#
或: -u
. 在运行测试中使用这个参数来重新录制每个失败测试的快照。 还可以和测试套件模式或 --testNamePattern
一起使用,从而重新录制的快照。
--useStderr
#
转移所有输出到stderr(标准错误输出).
--verbose
#
层次显示测试套件中每个测试的结果。
--version
#
或: -v
. 打印版本并退出。
--watch
#
监视文件更改,并重新运行与已更改的文件相关的测试。当文件发生更改时,如果你想要重新运行所有测试,可以使用 --watchAll
选项。
--watchAll
#
监视文件的更改并在任何更改时重新运行所有测试。若果你是想要重新运行仅基于已更改文件的测试,那么请使用 --watch
选项。
--watchman
#
是否使用watchman进行文件抓取。默认值为 true。使用--no-watchman
来禁用。