我在fix-order-test.js文件中有一个测试“works with nested children”。

运行下面的代码将运行文件中的所有测试。

jest fix-order-test

如何只运行一个测试?下面的方法无法工作,因为它搜索指定的正则表达式的文件。

jest 'works with nested children'

当前回答

在最新版本的jest中,您可以以多种方式运行任何单个测试。

fit('only this test will run', () => {});

it.only('only this test will run',() => {});

其他回答

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);
});

在命令行中,使用——testnameppattern或-t标志:

jest -t 'fix-order-test'

这将只运行与您提供的测试名称模式匹配的测试。它在Jest文档中。

另一种方法是在监视模式下运行测试,jest—watch,然后按P来过滤测试,输入测试文件名或T来运行单个测试名称。


如果你在描述块中有一个it,你必须运行

jest -t '<describeString> <itString>'

开玩笑地说,这是唯一对我有用的东西:

is -- test/unit/name-of-test-file.test.ts

观察

is --watch -- test/unit/name-of-test-file.test.ts

如果你把jest作为脚本命令运行,比如npm test,你需要使用下面的命令让它工作:

npm test -- -t "fix order test"

运行命令行:

   npm run test-jest unit_test/file_name -- -t test_name

我Package.json

"test-jest": "jest --verbose=true --force-exit",
"test-jest:watch": "jest --watchAll",