使用grunt运行jest时未找到任何测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用grunt运行jest时未找到任何测试相关的知识,希望对你有一定的参考价值。

我试图用一个咕噜咕噜的任务来运行我的笑话但是这样做我在控制台中找不到测试发现消息。以下是相同的设置:

gruntfile.js片段:

exec: {
        jest: 'node node_modules/jest/bin/jest -u --config="test/unit/jest/jest.conf.json"'
}

jest.conf.json:

{
    "testEnvironment": "jsdom",
    "setupTestFrameworkScriptFile": "./enzyme.setup.js",
    "testResultsProcessor": "jest-teamcity-reporter"
}

enzyme.setup.js:

import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-15.4';

configure({ adapter: new Adapter() });

运行grunt exec任务的控制台如下所示:

No tests found
In C:VishalUIJest-Gruntproj	estunitjest
  3 files checked.
  testMatch: .js?(x),**/?(*.)(spec|test).js?(x) - 0 matches
  testPathIgnorePatterns: \node_modules\ - 3 matches
Pattern:  - 0 matches

Done, without errors.

然而令人惊讶的是,如果我没有在grunt exec任务中的cli中传递jest配置文件路径,而是在package.json文件中指定jest配置,那么它可以工作。

不知道为什么这样做。

答案

Aah,在我的头撞了之后。我注意到这个错误很可惜:

在C: My-User UI Is-Ground proj test unit 中

这清楚地解释了JEST尝试在上面指定的文件夹中执行测试用例。但理想情况下,JEST会调查__tests__。因此我必须自己指定根文件夹。使用包json,这不会发生。奇怪的是!

这是我的更新jest配置:

{
    "testEnvironment": "jsdom",
    "setupTestFrameworkScriptFile": "./enzyme.setup.js",
    "testResultsProcessor": "jest-teamcity-reporter",
    "coverageReporters": [
        "teamcity", "lcov"
   ],
    "roots": [
      "../../../__tests__"
    ]
}

以上是关于使用grunt运行jest时未找到任何测试的主要内容,如果未能解决你的问题,请参考以下文章

使用 Jest 测试时未定义全局节点配置变量

如何使用 grunt-run 执行 npm 脚本?

安装 jest 时未定义 describe

如何使用 Jest 测试异步存储?

当主机更改源时,grunt karma 对 vagrant 进行测试 grunt/karma 未检测到它

IllegalArgumentException:尝试 setView 时未找到片段 id 的视图