今天,由于一些无法解释的原因,我的jest测试文件开始循环,导致终端 Flink 。
我正在运行jest src --watch
,src是我的源文件夹。
我关注了一些其他的讨论,但没有一个有助于解决我的问题。
https://github.com/facebook/jest/issues/4635讨论的是自定义处理器,但我使用的是默认设置。
我试过忽略文件夹。
我已经删除了所有的测试文件,此时循环停止。如果我向__tests__
添加一个测试文件,它会匹配该文件,但不会运行测试。如果我将测试文件添加到我的/src文件夹,它会再次开始循环,实际测试通过还是失败并不重要。即使我使用简单的
describe('Test Suite', () => {
test('two plus two is four', () => {
expect(2 + 2).toBe(4)
})
})
字符串
它会循环 Flink
这是我的玩笑
"jest": {
"verbose": false,
"watchPathIgnorePatterns": [
"<rootDir>/dist/",
"<rootDir>/node_modules/"
],
"globalSetup": "./jest-setup.js",
"globalTeardown": "./jest-teardown.js",
"testEnvironment": "./jest-mongo.js"
},
型
有人知道是什么导致了这个循环吗?我不会改变任何文件夹中的任何文件来让--手表认为它需要再次运行,没有其他应用程序iidoeDropbox同步文件夹。
我在VSCode中进行开发,但如果我在终端窗口中进行测试,也会发生同样的事情。
5个小时前还好好的,出了什么问题?
2条答案
按热度按时间j9per5c41#
结果是jest.setup文件正在将配置文件写入磁盘,同时设置临时mongoDB。如果至少有一个测试使用了mongoDB,则循环停止,或者如果我删除了安装文件,则循环停止。
所以我的问题开始于30个测试文件中,连接到mongo的那个被编辑了(开始循环/ Flink )。为了解决这个问题,我删除了所有剩下的测试文件,这让我剩下了最基本的测试,但仍然是循环,因为我仍然没有连接。
仍然不能100%确定确切的机制,但是当继承其他人的代码库时,它不使用默认的jest设置,可能最好扩展jest知识以了解发生了什么。
tvokkenx2#
我刚刚弄清楚了这个问题的我自己的版本,为任何可能遇到这个问题的人发布。我必须添加一个特定的json文件
globalConfig.json
到我的watchPathIgnorePatterns
。字符串
不知道为什么这个文件与这里引用的
jest.json
:https://github.com/jestjs/jest/issues/5038编辑:这是因为我使用的是
jest-mongodb
。参见https://github.com/shelfio/jest-mongodb#6-jest-watch-mode-gotcha