5

我希望能够分别运行我的排毒测试和我的 Jest 单元测试。例如,使用 运行 detox 测试detox build && detox test,使用npm test.

实施排毒后(使用 mocha 作为测试运行程序),运行npm test会立即出错,看起来它试图运行我的排毒测试(不是我所期望的)!这是我得到的第一个错误。

FAIL e2e/auth.spec.js

当我的 package.json 将测试脚本指向 Jest 时,不确定它为什么要尝试运行排毒测试。 "scripts": { "start": "node node_modules/react-native/local-cli/cli.js start", "test": "jest" }

我现在如何运行我的笑话测试?

4

2 回答 2

10

默认情况下jest运行项目目录中的所有文件,这些文件具有.test..spec.扩展名。这就是为什么它会提取您的排毒测试文件并且无法执行它们的原因。

https://facebook.github.io/jest/docs/en/configuration.html#testmatch-array-string

您必须覆盖此默认行为,以免两者发生冲突。以下是我们在package.json仅供参考的内容,您可能需要更改它:

"jest": {
  "testMatch": [
    "<rootDir>/__tests__/**/*.test.js?(x)",
    "<rootDir>/src/**/*.test.js"
  ]
}
于 2018-04-17T13:39:01.730 回答
1

如果您不将文件保存在诸如测试之类的文件夹中,只需将其添加到 package.json

"jest": {
   "testMatch": ["**/*+(.test.js)"] 
}
于 2019-09-06T10:06:11.770 回答