使用Jest忽略testMatch中的特定文件夹模式

ale*_*ngn 5 javascript unit-testing pattern-matching jest

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

我将测试放在一个__tests__文件夹中,并且希望能够将__config__其中所有文件都忽略的文件夹放进去。

/__tests__
  /__config__
    someConfig.jsx
  /MyComponent.jsx
/MyComponent.jsx
Run Code Online (Sandbox Code Playgroud)

我在__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
],
Run Code Online (Sandbox Code Playgroud)

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

Gib*_*boK 7

尝试使用testPathIgnorePatterns,而不是。

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

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