Jest CLI 选项
jest
命令行运行有很多好用的选项。 你可以运行jest --help
命令查看所有可用的选项。 下面所示选项都可一起使用,以你想要的方式来运行测试。 Jest 的 配置选项 里每一条都可以通过命令行来指定。
下面是简要概述:
在命令行中使用
默认运行所有测试
jest
仅运行指定文件名称或文件路径的测试
# 指定测试文件的名称
jest my-test
# 指定测试文件的路径
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 # 默认执行 jest -o 监视有改动的测试
jest --watchAll # 监视所有测试
该模式下可以指定名称或路径来监视特定的测试文件
通过包管理器使用Jest
如果你通过包管理器运行Jest,你仍然可以传 递命令行参数作为Jest参数。
除了下面这种使用方式
jest -u -t="ColorPicker"
现在你还可以使用
- npm
- Yarn
- pnpm
npm test -- -u -t="ColorPicker"
yarn test -u -t="ColorPicker"
pnpm test -u -t="ColorPicker"
驼峰命名与横线分割命名支持
Jest同时支持驼峰命名与横线分割命名。 下面两个例子的效果是一样的:
jest --collect-coverage
jest --collectCoverage
两种命名的参数也可以混用:
jest --update-snapshot --detectOpenHandles
选项
使用命令行传入的参数优先级高于使用 配置 指定的参数。
- 驼峰命名与横线分割命名支持
- 选项
- 参考
jest <regexForTestFiles>
--bail[=<n>]
--cache
--changedFilesWithAncestor
--changedSince
--ci
--clearCache
--clearMocks
--collectCoverageFrom=<glob>
--colors
--config=<path>
--coverage[=<boolean>]
--coverageDirectory=<path>
--coverageProvider=<provider>
--debug
--detectOpenHandles
--env=<environment>
--errorOnDeprecated
--expand
--filter=<file>
--findRelatedTests <spaceSeparatedListOfSourceFiles>
--forceExit
--help
--ignoreProjects <project1> ... <projectN>
--init
--injectGlobals
--json
--lastCommit
--listTests
--logHeapUsage
--maxConcurrency=<num>
--maxWorkers=<num>|<string>
--noStackTrace
--notify
--onlyChanged
--onlyFailures
--openHandlesTimeout=<milliseconds>
--outputFile=<filename>
--passWithNoTests
--projects <path1> ... <pathN>
--randomize
--reporters
--resetMocks
--restoreMocks
--roots
--runInBand
--runTestsByPath
--seed=<num>
--selectProjects <project1> ... <projectN>
--setupFilesAfterEnv <path1> ... <pathN>
--shard
--showConfig
--showSeed
--silent
--testEnvironmentOptions=<json string>
--testLocationInResults
--testMatch glob1 ... globN
--testNamePattern=<regex>
--testPathIgnorePatterns=<regex>|[array]
--testPathPattern=<regex>
--testRunner=<path>
--testSequencer=<path>
--testTimeout=<number>
--updateSnapshot
--useStderr
--verbose
--version
--watch
--watchAll
--watchman
--workerThreads
参考
jest <regexForTestFiles>
当你在运行 jest
时附加参数,参数会以正则表达式来匹配项目中的文件。 可通过提供的模式来运行测试。 只会选择并运行匹配模式的测试文件。 Depending on your terminal, you may need to quote this argument: jest "my.*(complex)?pattern"
. On Windows, you will need to use /
as a path separator or escape `` as \
. On Windows, you will need to use /
as a path separator or escape \
as \\
.
--bail[=<n>]
Alias: -b
. Alias: -b
. Exit the test suite immediately upon n
number of failing test suite. Defaults to 1
. Defaults to 1
.
--cache
是否使用缓存。 默认值为 true。 使用 --no-cache
来禁止缓存。
除非遇到相关问题,否则你不应该禁用缓存。 一般来说,禁用缓存会令 Jest 运行至少慢两倍。
If you want to inspect the cache, use --showConfig
and look at the cacheDirectory
value. If you need to clear the cache, use --clearCache
. If you need to clear the cache, use --clearCache
.
--changedFilesWithAncestor
Runs tests related to the current changes and the changes made in the last commit. Behaves similarly to --onlyChanged
. 与 --onlyChanged
的行为相似。
--changedSince
Runs tests related to the changes since the provided branch or commit hash. Runs tests related to the changes since the provided branch or commit hash. If the current branch has diverged from the given branch, then only changes made locally will be tested. 与 --onlyChanged
的行为相似。 与 --onlyChanged
的行为相似。
--ci
指定该参数时,Jest会认为正在CI环境上运行。 当遇到新的快照时,这会改变原来的行为。 不再是自动的保存新的快照,取而代之的是,它会将测试标记失败,并要求运行Jest时增加--updateSnapshot
参数。
--clearCache
删除 Jest 的缓存目录, 然后不运行测试直接退出。 Will delete cacheDirectory
if the option is passed, or Jest's default cache directory. The default cache directory can be found by calling jest --showConfig
. * 注意:清除缓存将降低性能。 The default cache directory can be found by calling jest --showConfig
.
清除缓存将影响性能。
--clearMocks
在每次测试前自动清除mock调用、实例、上下文和结果。 在每次测试之前调用 jest.clearAllMocks()
这不会删除可能已提供的任何模拟实现。
--collectCoverageFrom=<glob>
A glob pattern relative to rootDir
matching the files that coverage info needs to be collected from.
--colors
即便stdout不是TTY模式, 也要强制高亮显示测试结果。
或者,您可以设置环境变量 FORCE_COLOR=true
来强制启用,或 FORCE_COLOR=false
来禁用颜色化输出。 使用 FORCE_COLOR
覆盖所有其他颜色支持检查。
--config=<path>
或: -c
. The path to a Jest config file specifying how to find and execute tests. If no rootDir
is set in the config, the directory containing the config file is assumed to be the rootDir
for the project. 这也可以是 JSON 编码的值,Jest可以将其设为基本配置。
--coverage[=<boolean>]
Alias: --collectCoverage
. 将测试覆盖率信息输出为报告。 Optionally pass <boolean>
to override option set in configuration.