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

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

jest fix-order-test

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

jest 'works with nested children'

当前回答

只是一个小插件,因为如果使用。/node_modules/.bin/jest -i…或者只是开玩笑-我…或者NPM测试-我…

如果你在全局安装了jest(如npm install -g jest),那么只调用jest就可以了,这是一种不太干净的处理依赖关系的方式 如果Jest只安装在包的本地,并且想调用Jest脚本而不需要绕道npm脚本,你可以使用npx Jest -i…=>这正是NPX的目的。它可以节省编写。/node_modules/.bin/....的时间

其他回答

对于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版本,您可以使用以下方法之一仅运行一个测试,对于测试套件也是如此。

it.only('test 1', () => {})

test.only('test 1', () => {})

fit('test 1', () => {})

如果测试名称是唯一的,开玩笑的“test 1”也可以工作。

你可以尝试使用下面的命令,因为它对我有用

npm run test -- -t 'Your test name'

或者你可以像下面这样在测试中添加.only,然后运行npm run test命令

it.only('Your test name', () => {})

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

npm test -- -t "fix order test"

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

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

观察

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