【问题标题】:coveragePathIgnorePatterns - ignore files with specific endingcoveragePathIgnorePatterns - 忽略具有特定结尾的文件
【发布时间】:2021-12-02 14:58:53
【问题描述】:

开玩笑:我试图忽略所有以.stories.tsx 结尾的文件,例如SomeFileName.stories.tsx。添加在我的package.json -> *.stories.tsx 内的coveragePathIgnorePatterns 中,来自jest,如下所示:

"jest": {
    "coveragePathIgnorePatterns": [
        ...
        "*.stories.tsx"
    ]
}

不幸的是,运行测试将为我的 all 我的测试抛出以下错误:

● 测试套件无法运行

SyntaxError: Invalid regular expression: /*.stories.tsx/: Nothing to repeat
    at String.match (<anonymous>)
    ...

我需要在 coveragePathIgnorePatterns 中添加什么才能使其正常工作?

【问题讨论】:

  • 如果是正则表达式,请使用".*\.stories\.tsx$" 或"&lt;rootDir&gt;/.*\.stories\.tsx$"。另请参阅this reference。
  • 这是一个 glob 模式,所以你可以添加 !不是。
  • 我需要阅读更多关于正则表达式与全局模式的信息。仍然不明白为什么会出现“无效的正则表达式”错误。 @StevenScott,因为这是 glob,它不应该支持:* 代表“任何东西”吗?
  • 目录通常指定为 2 个星号 (**/) 。您不需要转义这些句点,它们是预期的。
  • @StevenScott 根据开玩笑docs - coveragePathIgnorePatterns 它是一个正则表达式模式字符串数组

标签: jestjs glob


【解决方案1】:

我从 javascript 中引用我的,以将其保留在我的 package.json 和它自己的文件中,但无论哪种方式,您都可以指定模式而不转义文件名中的句点。双星号表示路径。

"jest": {
    "coveragePathIgnorePatterns": [
        ...
        "./**/*.stories.tsx",
        "./some_path/**/*.stories.tsx",
        "!./**/*.interface.tsx",
    ]
}

【讨论】:

  • 添加了,但我仍然收到问题中提到的相同错误消息。
猜你喜欢
  • 1970-01-01
  • 2017-05-31
  • 2011-08-01
  • 2023-02-08
  • 2021-12-01
  • 1970-01-01
  • 2018-05-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多