开玩笑 没有找到测试
Posted
技术标签:
【中文标题】开玩笑 没有找到测试【英文标题】:Jest No Tests found 【发布时间】:2017-11-28 05:36:54 【问题描述】:在 macOS 上运行 docker mhart/alpine-node:8
nodejs (6.10.3-r0) (18/18) 纱线 0.24.6 开玩笑 20.0.4
但是,在运行代码时,我有一个 __tests__/index.test.js 文件
node_modules/.bin/jest --watchAll
我得到以下输出
没有找到测试 在 /usr/src/app 已检查 5 个文件。 testMatch:/__tests__//*.js?(x),**/?(*.)(spec|test).js?(x) - 1 场比赛 testPathIgnorePatterns: /node_modules/,/src,src - 0 个匹配项 模式:"" - 0 个匹配项
我已经重新安装了包号,但无济于事。
【问题讨论】:
我解决这个问题的方法是稍微改变我的 docker-compose 命令。我将command: npm run cover && bash <(curl -s https://codecov.io/bash)
更改为command: bash -c 'npm run cover && bash <(curl -s https://codecov.io/bash)'
【参考方案1】:
您的输出显示testMatch
有1 match
,这可能是您的__tests__/index.test.js
文件。似乎您的 testPathIgnorePatterns
导致该测试套件被忽略。 No tests found In /usr/src/app
表示 Jest 正在 /usr/src/app
中寻找测试,testPathIgnorePatterns: /node_modules/,/src,src
表示 Jest 正在忽略 /src
目录中的文件。
如果您的 __tests__/index.test.js
文件位于 /src 目录之外,请让 Jest 查看它的位置,或者阻止 testPathIgnorePatterns
忽略 /src 目录。
【讨论】:
【参考方案2】:如果您想运行 tests 文件夹中的所有测试,您只需执行以下操作
jest __tests__ --watch
【讨论】:
【参考方案3】:我在尝试在项目的子模块中运行测试时遇到此错误。通过在与主项目不同的文件夹树中单独测试子模块来解决此问题。
【讨论】:
【参考方案4】:您可以尝试不带任何参数运行jest
。需要注意的关键是测试文件名必须遵循约定*.test.js
或*.spec.js
。
【讨论】:
有没有办法只使用.js
扩展而不是test.js
或spec.js
?【参考方案5】:
如果你有如下文件结构
myFolder
│ myFile1.js
│ myFile2.js
│ ...
│
└───__tests__
myFile1.spec.js
myFile2.spec.js
...
那么您需要在jest.config.js
中为testMatch
属性提供以下模式:
testMatch: ['**/__tests__/*.js?(x)'],
jest.config.js
的简单例子:
const jestConfig =
verbose: true,
testURL: "http://localhost/",
'transform':
'^.+\\.jsx?$': 'babel-jest',
,
testMatch: ['**/__tests__/*.js?(x)'],
module.exports = jestConfig
【讨论】:
【参考方案6】:在 package.json 中有一个用于查找测试文件的模式。在此模式中,您可以根据文件位置更改它或使其成为全局模式。
我写了一个测试,不在特定文件夹中并遵循命名约定*.test.js
并更改testMatch
"testMatch": [
"<rootDir>/src/**/*.(test).js,jsx,ts,tsx",
"<rootDir>/src/**/?(*.)(spec|test).js,jsx,ts,tsx"
],
【讨论】:
【参考方案7】:如果您使用的是 Typescript,在我将 Typescript 从 3.3 更新到 3.8.3 后,我开始收到相同的 No tests found
错误。将 jest 和 ts-jest 从版本 23.* 更新到 25.* 为我修复了它。
【讨论】:
以上是关于开玩笑 没有找到测试的主要内容,如果未能解决你的问题,请参考以下文章