首页 > 解决方案 > 如何在开玩笑的代码覆盖范围内忽略所有 index.ts 文件?(正则表达式失败错误)

问题描述

我尝试使用正则表达式,但失败了,

coveragePathIgnorePatterns: [
    "src/**/index.*"
],

错误:无效的正则表达式:/src/**/index.*/

  coveragePathIgnorePatterns: [
    "**/index.*"
  ],

错误:无效的正则表达式:/**/index.*/

标签: regexjestjs

解决方案


根据我的知识,这件事jest有一个片段可以检查这种模式,如下所示:

if (
  config.coveragePathIgnorePatterns.some(pattern => !!filename.match(pattern))
) {
  return false;
}

从上面的代码中,它使用在大多数情况下match接受作为参数的方法。RegExp但是,jest已转换pattern为字符串。如果是字符串,您只能输入一个原始字符串,例如:index.js, index.ts...

简而言之,我认为您可以像上面那样设置原始字符串:

coveragePathIgnorePatterns: [
  'index.js',
  'index.jsx',
  'index.ts',
   // ...
],

推荐阅读