Javascript Jest中是否有一种简单的方法来指定要运行的测试的数组/列表? 问题
我正在编写几个测试套件(使用Jest和Puppeter)来自动化AngularJS应用程序主页的测试。此时,我的一个测试文件(又名测试套件)中有将近70个测试我想知道是否可以将一组测试名称传递给Jest的Javascript Jest中是否有一种简单的方法来指定要运行的测试的数组/列表? 问题,javascript,regex,jestjs,puppeteer,Javascript,Regex,Jestjs,Puppeteer,我正在编写几个测试套件(使用Jest和Puppeter)来自动化AngularJS应用程序主页的测试。此时,我的一个测试文件(又名测试套件)中有将近70个测试我想知道是否可以将一组测试名称传递给Jest的-t选项,以便在我的一个测试文件中运行特定的测试子集。这将有助于调试,因为我有一些相互依赖的测试,因此总是需要一起运行,但是,如果每次我想调试一些测试时都不必运行整个测试套件(大约一分钟就可以运行),那就太好了 我的测试环境概述: 木偶演员版本:1.19.0 Jest版本:24.8.0 开玩
-t
选项,以便在我的一个测试文件中运行特定的测试子集。这将有助于调试,因为我有一些相互依赖的测试,因此总是需要一起运行,但是,如果每次我想调试一些测试时都不必运行整个测试套件(大约一分钟就可以运行),那就太好了
我的测试环境概述:
- 木偶演员版本:1.19.0
- Jest版本:24.8.0
jest name of test file.spec.js
:这将在单个测试文件中运行所有测试,但我不想这样做,我只想在测试文件中运行特定的测试子集jest name-of-test-file.spec.js-t name of-test
:这只在测试文件中运行一个测试,但我想运行几个不同的相互依赖的测试jest name-of-test-file.spec.js--testPathPattern=
:这将运行名称与我通过的正则表达式模式匹配的所有测试。这可能会有帮助,但到目前为止,我还没有找到一个与三个唯一字符串(即测试名称)匹配的有效正则表达式。不幸的是,我的测试名称差别很大,所以我很难找到一个更通用的正则表达式来匹配我想要运行的特定测试我认为选项3最有潜力,但我还没有找到一个有效的正则表达式 如果
regex
选项不适用于您,您可以使用it.only
(或test.only
)仅在模块内运行特定测试
引自:
调试大型代码库时,通常只希望运行测试的子集。您可以使用.only
指定哪些测试是唯一要运行的测试
代码示例
it.only('此测试将运行',/*…*/);
it.only('此测试也将运行',/*…*/);
它('此测试将不运行',/*…*/);
但是,如果您有多个测试文件,您仍然需要指定要运行的模块或文件:
jest name-of-test-file-to-run.spec.js
匹配唯一字符串的正则表达式看起来像
-testPathPattern=(test1 | test2 | test3)
。我不知道“路径”是否需要更独特,或者是否需要使用部分匹配,但语法非常简单。将所有内容用括号括起来,并用竖线分隔“唯一”字符串。