我有三个测试文件,acceptance.test.js routes.test.js snapshots.test.js

我想在我的package.json中创建一个npm脚本,该脚本在使用时将忽略这些测试文件之一。我正在尝试使用Jest选项--testPathPattern来做到这一点。例如:

  "scripts": {
    "no-snapshots-test": "jest --coverage --testPathPattern=^(?!snapshots).*$"
  }


但是,此特定示例在终端中给出了.*$ was unexpected at this time错误。我尝试从最后删除。* $,但这会使快照测试仍然运行。

什么是允许我指定要忽略的文件的正确正则表达式?我需要在CLI中执行此操作,因此无法使用Jest配置选项testPathIgnorePattern。

最佳答案

不支持开头^和结尾$。忽略它们并使用相同的正则表达式,而不会产生负面的前瞻性:

"scripts": {
    "no-snapshots-test": "jest --coverage --testPathPattern=snapshots.*"
}


只是一个猜测:您可能需要使用正确的JavaScript Regex语法:/snapshots.*/g

07-24 15:53