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

Jest CLI选项

开玩笑命令行运行器有许多有用的选项。您可以运行笑话——帮助亚搏取款查看所有可用选项。下面显示的许多选项也可以一起使用,以完全按照您想要的方式运行测试。杰斯特的每一个配置也可以通过CLI指定选项。

以下是简要概述:

从命令行运行#

运行所有测试(默认):

开玩笑

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

我的测试 #或
/ / my-test.js jest路径

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

jest -o

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

——findRelatedTests路径/to/fileA.js

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

jest -t名称的规格

观察运行模式:

开玩笑,看 #默认运行jest -o
笑话——watchAll #Runs所有测试

监视模式还允许指定文件的名称或路径,以集中于特定的测试集。

使用纱#

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

而不是:

jest -u -t. = “选择器”

您可以使用:

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

与npm脚本一起使用#

如果您通过jest viaNPM测试,您仍然可以通过插入-之间的NPM测试和玩笑的争论。

而不是:

jest -u -t. = “选择器”

您可以使用:

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

Camelcase和Dashed Args支持#

Jest同时支持驼峰格式和虚线参数格式。下面的例子会有相同的结果:

笑话——collect-coverage
笑话——collectCoverage

参数也可以混合使用:

笑话——update-snapshot detectOpenHandles

选项#

注意:CLI选项优先于来自的价值配置


参考#

jest #

当你运行时开玩笑如果使用参数,该参数将被视为正则表达式,以匹配项目中的文件。可以通过提供模式来运行测试套件。只有模式匹配的文件才会被挑选和执行。根据你的终端,你可能需要引用这个参数:开玩笑”我。*(复杂的)?模式”。在Windows上,您将需要使用/作为路径分隔符或转义符\作为\ \

——保释#

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

——缓存#

是否使用缓存。默认值为true。使用以下命令禁用缓存- nno-cache.注意:只有在遇到缓存相关问题时才应该禁用缓存。平均而言,禁用缓存会使Jest至少慢两倍。

如果要检查缓存,请使用- 透明看看cacheDirectory价值。如果您需要清除缓存,请使用- 清除缓存

——changedFilesWithAncestor#

运行与当前更改和上次提交中所做更改相关的测试。的行为类似于——onlyChanged

——changedSince#

运行与自提供的分支或提交散列以来的更改相关的测试。如果当前分支已经从给定分支分离,那么只会测试本地所做的更改。的行为类似于——onlyChanged

- - - ci#

当提供此选项时,Jest将假定它在CI环境中运行。这将改变遇到新快照时的行为。与自动存储新快照的常规行为不同,它将导致测试失败,并要求使用Jest运行——updateSnapshot

- 清除缓存#

删除Jest缓存目录,然后退出而不运行测试。将会删除cacheDirectory如果该选项被传递,或者Jest的默认缓存目录。调用可以找到默认缓存目录jest --showconfig.注意:清除缓存将降低性能。

——collectCoverageFrom = <水珠>#

相对于rootDir匹配需要收集覆盖信息的文件。

——颜色#

强制测试结果输出突出显示,即使stdout不是TTY。

——配置= <路径>#

别名:-C。jest配置文件的路径指定如何查找和执行测试。如果不rootDir在配置中设置,则包含配置文件的目录被假定为rootDir对于项目。这也可以是JSON编码的值,其将用作配置。

——覆盖(= <布尔>)#

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

——coverageProvider = <供应商>#

指示应该使用哪个提供程序来检测代码的覆盖率。允许的值是巴别塔(默认)或v8

注意使用v8被认为是实验性的。这使用了V8的内置代码覆盖,而不是基于Babel的,并附带了一些警告

  1. 您的节点版本必须包括vm.compilefunction.,这是介绍的节点10.10
  2. 测试需要在Node测试环境中运行(支持jsdom需要jest-environment-jsdom-sixteen)
  3. V8在更高版本中有更好的数据,因此使用最新版本的节点(在本文写作时的V13)将产生更好的结果

——调试#

打印关于Jest配置的调试信息。

——detectOpenHandles#

试图收集并打印打开的句柄,以阻止Jest干净地退出。在需要的情况下使用这个——forceExit为了让Jest退出可能跟踪原因。这意味着——runInBand,使测试连续运行。实现使用async_hooks.。此选项具有显着的性能损失,只能用于调试。

——env = <环境>#

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

——errorOnDeprecated#

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

——扩大#

别名:-e.。使用此标志来显示完整的差异和错误,而不是一个补丁。

--findrelatedtests #

查找并运行包含作为参数传入的以空格分隔的源文件列表的测试。用于预提交钩子集成,以运行所需的最少测试量。能与?一起使用吗——覆盖包括源文件的测试覆盖,无重复——collectCoverageFrom参数需要。

——forceExit#

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

- 亚搏取款帮助#

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

- 在里面#

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

- 杰森#

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

——outputFile = <文件名>#

将测试结果写入文件时- 杰森选项也被指定。返回的JSON结构记录在testResultsProcessor

——lastCommit#

运行由上次提交的文件更改影响的所有测试。的行为类似于——onlyChanged

——listTests#

列出给定参数Jest将运行的所有JSON测试,并退出。这可以与--findrelatedtests.来知道Jest将运行哪些测试。

——logHeapUsage#

记录每次测试后的堆使用情况。用于调试内存泄漏。一起使用——runInBand- Expe-GC.在节点。

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

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

--maxworkers = | #

别名:-W.。指定工作池将用于运行测试的最大工人数。在单个运行模式下,默认为主线程的机器上可用的核心数量。在Watch模式中,这默认为机器上的一半可用核心,以确保Jest无法引起的并且不会将您的机器磨损到停止。在像CIS这样的资源有限环境中调整它可能是有用的,但默认值应该适用于大多数使用情况。

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

- 诺斯坦克#

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

- 通知#

激活测试结果的通知。当您不想让自己的意识集中在除了JavaScript测试之外的任何事情时,这很好。亚博串子容错怎么买

——onlyChanged#

别名:-O。尝试根据在当前存储库中更改哪些文件来确定要运行的测试。只有在此时在Git / HG存储库中运行测试并需要静态依赖图(即,无动态需要)。

——passWithNoTests#

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

- 重新注入 ... #

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

——记者#

使用指定的报告器运行测试。记者选择通过CLI无法获得。具有多个记者的示例:

= =“默认”——记者开玩笑——记者“jest-junit”

——根#

Jest应该用来在其中搜索文件的目录的路径列表。

——runInBand#

别名:-一世。在当前进程中连续运行所有测试,而不是创建运行测试的子进程的工作池。这对于调试很有用。

——runTestsByPath#

仅运行与其确切路径指定的测试。

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

- setuptestframeworkscriptfile = #

运行某些代码的模块的路径要在每个测试之前配置或设置测试框架。请注意,在测试期间不会嘲笑由安装脚本导入的文件。

- 透明#

打印您的Jest配置,然后退出。

——沉默#

防止通过控制台从打印消息中的测试。

--testnamepattern = #

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

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

——testLocationInResults#

添加一个位置字段来测试结果。如果您想在报告器中报告测试的位置,这很有用。

请注意,也就是,线不是。

{
“柱子” : 4 ,
“线” : 5
}

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

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

正则表达式——testPathIgnorePatterns = < > |(数组)#

在执行测试之前对所有测试路径进行测试的单个或regexp模式字符串数组。相反--testpatppattern.,它只使用与提供的regexp表达式不匹配的路径运行这些测试。

要作为数组传递,请使用转义括号和空格分隔的regexp,例如\ (/ node_modules / /测试/ e2e / \)。或者,您可以通过将regexp组合成单个regexp来省略括号/ node_modules / | /测试/ e2e /。这两个例子是等效的。

——testRunner = <路径>#

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

——testSequencer = <路径>#

允许您指定自定义测试排序程序。详细信息请参考相应配置属性的文档。

--testTimeout = #

测试的默认超时时间(毫秒)。默认值:5000。

——updateSnapshot#

别名:-U。使用此标志重新录制在此测试运行期间发生故障的每个快照。可以与测试套件图案一起使用或一起使用——testNamePattern重新录制快照。

——useStderr#

将所有输出转移到stderr。

——详细#

使用测试套件层次结构显示单个测试结果。

——版本#

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

——看#

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

——watchAll#

观察文件的变化,并在发生变化时重新运行所有测试。如果只想重新运行依赖于已更改文件的测试,请使用——看选项。

使用——watchAll = false显式禁用监视模式。请注意,在大多数CI环境中,这是自动处理的。

——守望#

是否使用守望对文件爬行。默认为真的。禁止使用——no-watchman

上次更新了通过凯文Brotcke