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

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

jest fix-order-test

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

jest 'works with nested children'

当前回答

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

npm test -- -t "fix order test"

其他回答

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

我花了一段时间才找到这个,所以我想在这里为像我这样使用纱线的人添加它:

yarn test -i "src/components/folderX/folderY/.../Filename.ts" -t "name of test"

文件名在-i后面,testname在-t后面。

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

npm test -- -t "fix order test"

Use:

npm run test -- test-name

只有当您的测试规范名称是唯一的时,这才会起作用。

上面的代码将引用一个名为test-name.component.spec.ts的文件

在Visual Studio Code中,这让我只能运行/调试一个带有断点的Jest测试:在Visual Studio Code中调试测试

我的发射。Json文件里面有这个:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Jest All",
      "program": "${workspaceFolder}/node_modules/.bin/jest",
      "args": ["--runInBand"],
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen",
      "windows": {
        "program": "${workspaceFolder}/node_modules/jest/bin/jest",
      }
    },
    {
      "type": "node",
      "request": "launch",
      "name": "Jest Current File",
      "program": "${workspaceFolder}/node_modules/.bin/jest",
      "args": ["${relativeFile}"],
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen",
      "windows": {
        "program": "${workspaceFolder}/node_modules/jest/bin/jest",
      }
    }
  ]
}

在package.json文件中:

  "scripts": {
    "test": "jest"
  }

要运行一个测试,在该测试中,将test(或it)更改为test。只有(或it.only)。若要运行一个测试套件(多个测试),请将describe更改为description .only。 如果需要,可以设置断点。 在Visual Studio Code中,转到调试视图(Shift + Cmd + D或Shift + Ctrl + D)。 从顶部的下拉菜单中,选择笑话当前文件。 单击绿色箭头以运行该测试。