使用Jest

时间:2017-12-14 18:28:57

标签: javascript unit-testing pattern-matching jest

我试图忽略Jest testMatch模式中的特定文件夹。

我在__tests__文件夹中进行了测试,我希望能够将文件夹__config__放入其中,其中所有文件都应该被忽略。

/__tests__
  /__config__
    someConfig.jsx
  /MyComponent.jsx
/MyComponent.jsx

我在__tests__文件夹中的测试会导入__config__文件夹中的文件,因此我不想使用transformIgnorePatterns忽略它们。

但如果我不忽略该文件夹,Jest会尝试在该文件夹中运行并返回错误:

  

失败src/components/__tests__/__config__/someConfig.jsx

     

您的测试套件必须至少包含一个测试。

我尝试了一些不同的模式,但我找不到忽略__config__文件夹的方法

testMatch: [
  "**/__tests__/!(__config__)/**/*.(js)?(x)", // Doesn't work
  "**/__tests__/(**|!__config__)/*.(js)?(x)", // Doesn't work
  "**/__tests__/(**|?!__config__)/*.(js)?(x)", // Doesn't work
  "**/__tests__/{**,!__config__}/*.(js)?(x)", // Doesn't work
],

我知道如何忽略这样的子文件夹吗?

2 个答案:

答案 0 :(得分:5)

请尝试使用testPathIgnorePatterns

如果测试路径与任何模式匹配,则会跳过它。

使用字符串标记来包含项目根目录的路径。

答案 1 :(得分:-1)

尝试此模式:

  

testMatch:['** / - tests - /?(*。)(test).js?(x)'],

这对我有用。 我的文件夹结构是: --tests--   auth.test.js   user.test.js 路线   -   - Anotherfolders。