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来禁用。