跳转到主要内容
版本:26.倍

Jest CLI选项

笑话命令行runner有许多有用的选项。你可以运行笑话——帮助亚搏取款查看所有可用选项。下面所示的许多选项也可以一起使用以完全按照所需方式运行测试。每一个jest的配置还可以通过CLI指定选项。

以下是一个简要概述:

从命令行运行#

运行所有测试(默认):

笑话

只运行使用模式或文件名指定的测试:

笑话我的测试 #或者
Jest Path / to / my-test.js

运行与基于HG / GIT(未提交文件)的更改文件相关的测试:

jest - o

运行与以下内容相关的测试路径/ / fileA.js路径/到/ fileb.js:

jest——findRelatedTests path/to/file .js path/to/file .js

运行与此规范名称(与中的名称匹配)匹配的测试描述测试, 基本上)。

jest - t name-of-spec

观察运行模式:

开玩笑,看 #runs jest -o默认情况下
jest --watchall. #运行所有的测试

监视模式还允许指定文件的名称或路径,以关注特定的一组测试。

用纱线使用#

如果你运行Jest via纱线测试,您可以将命令行参数直接作为Jest参数传递。

而不是:

jest - u - t = “选择器”

您可以使用:

测试 - u - t = “选择器”

使用NPM脚本#

如果你运行Jest vianpm测试,您仍然可以使用命令行参数,方法是插入一个--之间npm测试和这个争论。

而不是:

jest - u - t = “选择器”

您可以使用:

NPM. 测试 - - - - u - t = “选择器”

支持驼峰形和虚线形参数#

Jest支持骆驼箱和虚线arg格式。以下示例将具有相等的结果:

jest --colect-coverage
笑话——collectCoverage

参数也可以是混合的:

笑话——update-snapshot detectOpenHandles

选项#

注意:CLI选项优先于配置


参考#

jest < regexForTestFiles >#

当您运行笑话使用参数,该参数被视为正则表达式,以匹配项目中的文件。可以通过提供模式运行测试套件。只有模式匹配的文件将被拾取并执行。根据您的终端,您可能需要引用此参数:开玩笑”我。*(复杂的)?模式”。在Windows上,您需要使用/作为路径分隔符或逃生\作为\\

——保释#

别名:- b。立即退出测试套件n失败的测试套件数量。默认为1

- cache.#

是否使用缓存。默认为true。使用缓存使用——no - cache注意:只有当您遇到缓存相关的问题时,才应该禁用缓存。平均而言,禁用缓存会使Jest至少慢两倍。

如果您想检查缓存,请使用——showConfig看看cachedirectory.价值。如果需要清除缓存,请使用——clearCache

- 强大的菲尔斯威范长#

运行与当前更改相关的测试和最后一次提交中所做的更改。表现得类似于——onlyChanged

——changedSince#

运行与自提供的分支或提交哈希有关的测试相关的测试。如果当前分支从给定分支分歧,则只能测试本地进行的更改。表现得类似于——onlyChanged

- - - ci#

提供此选项后,Jest将假设它在CI环境中运行。这会在遇到新快照时更改行为。而不是自动存储新快照的常规行为,而是将失败测试并需要Jest才能运行——updateSnapshot

——clearCache#

删除Jest Cache目录,然后退出而不运行测试。将删除cachedirectory.如果选项已通过,或者默认的缓存目录。呼叫可以找到默认的缓存目录笑话——showConfig注意:清除缓存会降低性能。

——collectCoverageFrom = <水珠>#

glob模式相对于rootDir匹配需要从中收集覆盖率信息的文件。

- 颜色#

强制测试结果即使STDOUT不是TTY,也会突出显示。

——配置= <路径>#

别名:- c。Jest配置文件的路径,指定如何查找和执行测试。如果没有rootDir设置在CONFIG中,假设包含配置文件的目录是rootDir为这个项目。这也可以是一个json编码的值,Jest将其用作配置。

--coverage [= ]#

别名:——collectCoverage。指示应该收集测试覆盖信息并在输出中报告。选择性地传递布尔> <覆盖配置中设置的选项。

--coverageProvider = #

表示哪些提供商应该用于介绍覆盖的仪器代码。允许值为巴别塔(默认)或v8

注意,使用v8被认为是实验性的。这使用了V8的内置代码覆盖,而不是基于Babel。它没有经过很好的测试,而且在Node的最近几个版本中也得到了改进。使用最新版本的node(撰写本文时为v14)将产生更好的结果。

——调试#

打印Jest配置的调试信息。

——detectOpenHandles#

尝试收集和打印打开的句柄,以防止Jest干净地退出。在需要的情况下使用它--forceExit.为了让Jest退出,找到潜在的原因。这意味着- runinband.,使测试串行运行。实现使用async_hooks。这个选项有很大的性能损失,应该只用于调试。

--env = <环境>#

用于所有测试的测试环境。这可以指向任何文件或节点模块。例子:jsdom.,节点路径/ / my-environment.js

——errorOnDeprecated#

使调用弃用的api抛出有用的错误消息。亚搏取款有助于简化升级过程。

——扩大#

别名:- e。使用此标志显示完整的差异和错误而不是修补程序。

——findRelatedTests < spaceSeparatedListOfSourceFiles >#

查找并运行覆盖作为参数传递的空间分隔的空间分隔列表的测试。对预先提交的钩子集成有用以运行所需的最小测试量。可以一起使用——覆盖为了包括源文件的测试覆盖,没有重复--ColectCoveragefrom需要的论据。

--forceExit.#

在所有测试完成运行后,强制Jest退出。当由测试代码设置的资源不能被充分清理时,这是很有用的。注意:这个功能是一个逃生口。如果Jest在测试运行结束时没有退出,这意味着外部资源仍然被占用,或者代码中的计时器仍然挂起。建议在每次测试之后拆除外部资源,以确保Jest能够干净地关闭。您可以使用——detectOpenHandles来帮助亚搏取款追踪它。

——亚搏取款帮助#

显示帮助信息,类似亚搏取款于此页面。

——初始化#

生成基本配置文件。基于您的项目,Jest将询问您一些有助于生成的问题亚搏取款jest.config.js文件,对每个选项有简短的描述。

——injectGlobals#

插入Jest的全局变量(预计,测试,描述,beforeEach等等)进入全球环境。如果你把它设置为错误的,你应该导入@ jest / globals,例如,

进口 { 预计 , 笑话 , 测试 } “@jest /全局” ;
笑话 useFakeTimers ( ) ;
测试 ( '一些测试' , ( ) = > {
预计 ( 日期 现在 ( ) ) 托比 ( 0 ) ;
} ) ;

注意:此选项仅支持使用jest-circus

——json#

以JSON格式打印测试结果。此模式将把所有其他测试输出和用户消息发送到stderr。

--outputfile = #

将测试结果写入文件——json选项也被指定。返回的JSON结构在testResultsProcessor.

- 劳斯科姆特#

运行在最后一次提交中受文件更改影响的所有测试。表现得类似于——onlyChanged

- 最低音#

以JSON的形式列出Jest将在给定参数的情况下运行的所有测试,并退出。这个可以一起使用——findRelatedTests要知道jest将运行的测试。

——logHeapUsage#

每次测试后记录堆使用情况。用于调试内存泄漏。一起使用- runinband.——expose-gc在节点。

全国矿工工会——maxConcurrency = < >#

防止Jest同时执行多于指定的测试量。只影响使用的测试test.concurrent

全国矿工工会——maxWorkers = < > | <字符串>#

别名:- w。指定工人池为运行测试将生成的工人的最大数目。在单运行模式下,默认值为机器上可用内核的数量减去主线程的1个。在watch模式下,这将默认使用机器上一半的可用内核,以确保Jest不会打扰到您的机器,也不会让您的机器陷入停顿。在资源有限的环境(如CIs)中调整这一点可能很有用,但默认值对于大多数用例应该已经足够了。

对于具有可变cpu的环境,您可以使用基于百分比的配置:——maxWorkers = 50%

——noStackTrace#

禁用测试结果输出中的堆栈跟踪。

——通知#

激活测试结果的通知。当您不希望您的意识无法专注于除JavaScript测试之外的任何内容时,都很好。亚博串子容错怎么买

——onlyChanged#

别名:- o。尝试根据当前存储库中的哪些文件已更改来确定要运行哪些测试。只有当你在git/hg存储库中运行测试,并且需要一个静态的依赖关系图(比如。没有动态的需要)。

- 通过它#

当没有找到文件时,允许测试套件通过。

——项目< path1 >…< pathN >#

从指定路径中找到的一个或多个项目运行测试;也采用路径globs。这个选项在CLI中相当于项目配置选项。注意,如果在指定的路径中找到配置文件,所有将运行在这些配置文件中指定的项目。

——记者#

使用指定的报告程序运行测试。记者选择不能通过CLI使用。多个记者的例子:

jest --reporters =“默认” - --reporters =“Jest-Junit”

- TOOTS.#

Jest应该用于搜索文件的目录的路径列表。

- runinband.#

别名:-我。在当前进程中串行运行所有测试,而不是创建运行测试的生成子进程的工人池。这对调试非常有用。

——selectProjects < project1 >…< projectN >#

只运行指定项目的测试。Jest使用该属性displayName在配置中识别每个项目。如果您使用此选项,您应该提供displayName到所有项目。

——runTestsByPath#

只运行使用确切路径指定的测试。

注意:默认的正则表达式匹配在小范围运行时工作良好,但如果提供了多个模式和/或针对大量测试,就会变得缓慢。该选项替换了regex匹配逻辑,从而优化了Jest过滤特定测试文件所需的时间

——setupTestFrameworkScriptFile = <文件>#

模块的路径,该模块运行一些代码,在每次测试之前配置或设置测试框架。注意,安装脚本导入的文件在测试期间不会被模拟。

——showConfig#

打印Jest配置,然后退出。

——沉默#

阻止测试通过控制台打印消息。

正则表达式——testNamePattern = < >#

别名:- t。只运行名称与正则表达式匹配的测试。例如,假设您只想运行与授权相关的测试,这些测试的名称为“GET /api/posts with auth”,然后你可以使用jest -t = auth

注意:正则表达式是针对全名进行匹配的,全名是测试名及其周围所有描述块的组合。

——testLocationInResults#

添加A.地点实地测试结果。如果你想在记者中报告测试的位置,这是很有用的。

请注意,也就是,不是。

{
“列” : 4 ,
“行” : 5
}

--testpathpattern = #

在执行测试之前与所有测试路径匹配的regexp模式字符串。在Windows上,您需要使用/作为路径分隔符或逃生\作为\\

——testPathIgnorePatterns =(数组)#

在执行测试之前根据所有测试路径测试的regexp模式字符串数组。相反——testPathPattern,它将只运行路径与提供的regexp表达式不匹配的测试。

--testrunner = #

允许您指定自定义测试运行程序。

--testsequencer = #

允许您指定自定义测试序列符。有关详细信息,请参阅相应配置属性的文档。

——testTimeout = <数字>#

以毫秒为单位测试的默认超时。默认值:5000。

——updateSnapshot#

别名:- u。使用此标志重新记录在此测试运行期间失败的每个快照。可以与测试套件模式一起使用还是与——testNamePattern添加快照。

——useStderr#

将所有输出转换为标准错误。

——详细#

显示带有测试套件层次结构的单个测试结果。

——版本#

别名:- v。打印版本并退出。

——看#

监视文件的更改和Rerun测试与更改文件相关的测试。如果要重新运行所有测试,则在文件更改时,请使用——watchAll选项。

——watchAll#

观看更改的文件,并在更改某些内容时重新运行所有测试。如果要重新运行依赖于更改的文件的测试,请使用——看选择。

使用--watchall = false.显式禁用“监视模式”。请注意,在大多数CI环境中,这会自动处理您。

——守望#

是否使用守望对文件爬行。默认为真正的。禁用- 没有守望人

最后一次更新在通过Sebastien Lorber