我在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选项
其他回答
https://jestjs.io/docs/cli#--testnamepatternregex
你的测试是这个文件my。test。js
test("My Sum", () => {
const sum = 3;
expect(sum).toBe(3);
});
以测试名在CLI上运行
jest -t Sum
使用npm测试与regex匹配部分文件名的例子:my.test.js
npm test -t my
你可以尝试使用下面的命令,因为它对我有用
npm run test -- -t 'Your test name'
或者你可以像下面这样在测试中添加.only,然后运行npm run test命令
it.only('Your test name', () => {})
运行命令行:
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",
在最新版本的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);
});