我能够使用Jest测试多个文件,但我不知道如何测试单个文件。

我有:

执行npm install jest-cli——save-dev命令 更新包。Json: '{…"scripts": {"test": "jest"}…} 编写了许多测试。

运行npm测试可以正常工作(目前运行14个测试)。

如何测试单个文件,例如test app/foo/__tests__/bar.spec.js?

我已经尝试运行npm test app/foo/__tests__/bar.spec.js(从项目根),但我得到以下错误:

npm犯错!错误:ENOENT,打开'/node_modules/app/foo/tests/bar.spec.js/package.json'


当前回答

简单的方法是运行单个单元测试文件,就是在根文件夹内运行终端中的命令。

npm test <fileName.test.js>

// For example
npm test utils.test.js

我也尝试了Jest Runner扩展的Visual Studio代码,它工作得很好。

其他回答

不需要传递完整的路径。只需使用正则表达式模式。

看到——testLocationInResults。

yarn jest --testNamePattern my_test_name
yarn jest -t=auth
yarn jest -t component # This will test all whose test name contains `component`

yarn jest --testPathPattern filename # This will match the file path
yarn jest filename # This will match the file path, the same with above

下面的命令对我有用。 NPX jest -i file-name

不需要指定文件的完整路径,文件名就足够了。

编辑: 找到了另一种方法。 function -i file-name用于功能测试 运行test:integration -i file-name for integration test

使用npm test并不意味着Jest是全局安装的。它只是意味着“test”映射到在包中使用Jest。json文件。

以下工作,在项目的根级别:

npx jest [file or directory]

文件或目录可以是要运行的测试文件,也可以是包含多个文件的目录。

只需使用此命令运行并检查特定文件的覆盖范围。

yarn run test Index.js -u --coverage --watchAll=false

使用package.json:

  "scripts": {
    "test": "jest --coverage",
    "start": "node index.js"
  }

下面的方法对我很有效:

npm test -f comm -- -t=first

它会找到文件名中包含“comm”的所有文件,只运行找到的文件中包含“first”的测试。