我在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'
当前回答
对于VSCode,你可以使用joke -run-it扩展,它将帮助你从编辑器中运行和调试Jest测试。
其他回答
在命令行中,使用——testnameppattern或-t标志:
jest -t 'fix-order-test'
这将只运行与您提供的测试名称模式匹配的测试。它在Jest文档中。
另一种方法是在监视模式下运行测试,jest—watch,然后按P来过滤测试,输入测试文件名或T来运行单个测试名称。
如果你在描述块中有一个it,你必须运行
jest -t '<describeString> <itString>'
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
在检查了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选项
对于Windows中的VSCode,我在我的启动中使用这些。json文件。注意使用${pathSeparator}来处理Win和Mac中的差异。在调试下拉菜单中选择一个并按F5运行。
{
"name": "Debug Selected Jest Test",
"type": "node",
"request": "launch",
"runtimeArgs": ["--inspect-brk", "${workspaceRoot}/node_modules/jest/bin/jest.js", "--runInBand"],
"args": ["--", "-i", "${fileDirnameBasename}${pathSeparator}${fileBasename} ", "-t", "${selectedText}"],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"port": 9229
},
{
"name": "Debug Named Jest Test",
"type": "node",
"request": "launch",
"runtimeArgs": ["--inspect-brk", "${workspaceRoot}/node_modules/jest/bin/jest.js", "--runInBand"],
"args": ["--", "-i", "${fileDirnameBasename}${pathSeparator}${fileBasename} ", "-t", "filename.test.js"],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"port": 9229
},
正如前面的回答所述,您可以运行该命令
jest -t 'fix-order-test'
如果你在描述块中有一个it,你必须运行
jest -t '<describeString> <itString>'