永远运行Jest测试循环

unhi4e5o  于 8个月前  发布在  Jest
关注(0)|答案(2)|浏览(100)

今天,由于一些无法解释的原因,我的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个小时前还好好的,出了什么问题?

j9per5c4

j9per5c41#

结果是jest.setup文件正在将配置文件写入磁盘,同时设置临时mongoDB。如果至少有一个测试使用了mongoDB,则循环停止,或者如果我删除了安装文件,则循环停止。
所以我的问题开始于30个测试文件中,连接到mongo的那个被编辑了(开始循环/ Flink )。为了解决这个问题,我删除了所有剩下的测试文件,这让我剩下了最基本的测试,但仍然是循环,因为我仍然没有连接。
仍然不能100%确定确切的机制,但是当继承其他人的代码库时,它不使用默认的jest设置,可能最好扩展jest知识以了解发生了什么。

tvokkenx

tvokkenx2#

我刚刚弄清楚了这个问题的我自己的版本,为任何可能遇到这个问题的人发布。我必须添加一个特定的json文件globalConfig.json到我的watchPathIgnorePatterns

"watchPathIgnorePatterns": [
   "<rootDir>/globalConfig.json",
],

字符串
不知道为什么这个文件与这里引用的jest.jsonhttps://github.com/jestjs/jest/issues/5038
编辑:这是因为我使用的是jest-mongodb。参见https://github.com/shelfio/jest-mongodb#6-jest-watch-mode-gotcha

相关问题