Jest testMatch找到测试,但testPathIgnorePatterns忽略它们

时间:2017-11-19 19:22:58

标签: node.js testing jestjs

我已经尝试了几天让Jest在现有项目上运行。 我正在使用简单的测试来证明我可以在编写更复杂的东西之前运行测试。

这是我运行Jest时的结果:

No tests found
   In F:\+VS Project\path to project\
    348 files checked.
    testMatch: **/__tests__/**/*.js?(x),**/?(*.)(spec|test).js?(x) - 6 matches
    testPathIgnorePatterns: \\node_modules\\ - 348 matches
Pattern:  - 0 matches

系统:

windows 10
Visual studio
ASP solution, with node project
webpack/babel for ES6

如果我更改了testPathIgnorePatterns,它似乎仍然包含忽略模式中的测试。当我添加另一个测试套件时,“testMatch”和“testPathIgnorePatterns”的匹配数增加了1.我已经尝试消除package.json的jest部分,并且我尝试添加许多不同的东西来打包。 JSON。测试位于项目根目录的__test__中,它们执行以下操作:

describe('can run a test', () => {
    // Define here the individual tests
        test('can run a test', () => {
            expect(true).toBe(true);
    });
})

无论是否更改任何输入参数,这似乎都会发生。我应该从测试文件中导出一些东西吗?我一直在四处寻找,试图弄清楚为什么会这样。我在这里看到了几个相关的线程,但它们似乎都没有真正描述我的问题并解决它。

请告诉我,我错过了一些愚蠢的事情......

1 个答案:

答案 0 :(得分:1)

事实证明,Jest的开发人员尚未解决他们的路径问题。我的Visual Studio项目位于名为“+ VS Projects”的目录中。显然,加号(也可能是空格)会导致Jest混淆并忽略目录中的所有内容。

在我的Linux机器上似乎没关系。

过去几个月令人沮丧的浪费了很多好的开发时间,这都是因为Jest没有良好的Windows支持......操作系统势利再次被杀。