我在fix-order-test.js文件中有一个测试“works with nested children”。
运行下面的代码将运行文件中的所有测试。
jest fix-order-test
如何只运行一个测试?下面的方法无法工作,因为它搜索指定的正则表达式的文件。
jest 'works with nested children'
我在fix-order-test.js文件中有一个测试“works with nested children”。
运行下面的代码将运行文件中的所有测试。
jest fix-order-test
如何只运行一个测试?下面的方法无法工作,因为它搜索指定的正则表达式的文件。
jest 'works with nested children'
当前回答
在检查了Jest CLI文档之后,我发现这就是我们在特定文件中运行特定测试的方式。
jest --findRelatedTests path/to/fileA.js path/to/fileB.js -t "test name"
纱,
yarn test --findRelatedTests path/to/fileA.js path/to/fileB.js -t "test name"
npm,
npm test -- --findRelatedTests path/to/fileA.js path/to/fileB.js -t "test name"
如需参考,请检查Jest Cli选项
其他回答
Jest文档建议如下:
如果测试失败,首先要检查的事情之一应该是 当测试是唯一运行的测试时,测试是否失败。在开玩笑 只运行一个测试很简单——只是临时更改该测试 命令到test.only
test.only('this will be the only test that runs', () => {
expect(true).toBe(false);
});
or
it.only('this will be the only test that runs', () => {
expect(true).toBe(false);
});
对于最新的Jest版本,您可以使用以下方法之一仅运行一个测试,对于测试套件也是如此。
it.only('test 1', () => {})
test.only('test 1', () => {})
fit('test 1', () => {})
如果测试名称是唯一的,开玩笑的“test 1”也可以工作。
我花了一段时间才找到这个,所以我想在这里为像我这样使用纱线的人添加它:
yarn test -i "src/components/folderX/folderY/.../Filename.ts" -t "name of test"
文件名在-i后面,testname在-t后面。
在命令行中,使用——testnameppattern或-t标志:
jest -t 'fix-order-test'
这将只运行与您提供的测试名称模式匹配的测试。它在Jest文档中。
另一种方法是在监视模式下运行测试,jest—watch,然后按P来过滤测试,输入测试文件名或T来运行单个测试名称。
如果你在描述块中有一个it,你必须运行
jest -t '<describeString> <itString>'
在检查了Jest CLI文档之后,我发现这就是我们在特定文件中运行特定测试的方式。
jest --findRelatedTests path/to/fileA.js path/to/fileB.js -t "test name"
纱,
yarn test --findRelatedTests path/to/fileA.js path/to/fileB.js -t "test name"
npm,
npm test -- --findRelatedTests path/to/fileA.js path/to/fileB.js -t "test name"
如需参考,请检查Jest Cli选项