在macOS上运行docker mhart/alpine-node:8
nodejs(6.10.3-r0)(18/18)yarn 0.24.6 jest 20.0.4
我有一个__tests__/index.test.js文件,但是,当运行代码时,node_modules/.bin/jest --watchAll
我得到以下输出
未找到测试
在/usr/src/app
检查了5个文件。
testMatch:/tests//.js?(x),**/?(.)(质量标准|test).js?(x)- 1 match
testPathIgnorePatterns:/node_modules/,/src,src- 0匹配项
模式:“”- 0匹配
我已经重新安装了软件包号码倍,但无济于事。
9条答案
按热度按时间but5z9lq1#
如果你使用的是Typescript,在我将Typescript从3.3更新到3.8.3后,我开始得到同样的
No tests found
错误。更新jest和ts-jest从版本23.* 到25.* 为我修复了它。qyswt5oh2#
对我来说,我使用的是vscode插件,我的修复方法是在.vscode/settings.json中添加此设置
a64a0gku3#
您的输出显示
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目录。vmjh9lq94#
如果您有如下文件结构
然后你需要在
jest.config.js
中为testMatch
属性设置以下模式:jest.config.js
的一个简单例子:wlwcrazw5#
在package.json中,有一个用于查找测试文件的模式。在此模式中,您可以根据文件位置对其进行更改,也可以使其成为全局模式。
我写了一个测试,没有在特定的文件夹中,按照命名约定
*.test.js
和更改testMatch
unguejic6#
您可以尝试在不使用任何参数的情况下运行
jest
。需要注意的一点是,测试文件名必须遵循*.test.js
或*.spec.js
的约定。tktrz96b7#
如果您想运行tests文件夹中的所有测试,只需执行以下操作
jest __tests__ --watch
zaqlnxep8#
将
__tests__
过滤器移到src
中为我解决了这个问题。现在它能够运行测试。68bkxrlz9#
当我试图在项目的子模块中运行测试时,出现了此错误。通过在独立于主项目的单独文件夹树中单独测试子模块,修复了该问题。