在每个测试文件之前进行笑话异步设置

时间:2018-11-13 11:24:51

标签: javascript installation jestjs each

我必须在每个测试文件之前进行一次异步安装(特别是每次启动MongoMemoryServer)。

  1. 由于无法处理异步工作,因此无法使用setupFiles。传递全局Promise无效,因为我必须在需要db模块之前设置db uri字符串(我不想在等待Promise之后模拟它,这很糟糕)。
  2. 官方指南使用testEnvironment并使用globalSetup设置mongo服务器。奇怪的是,文档说
  

注意:TestEnvironment已沙盒化。每个测试套件都将在自己的TestEnvironment中触发设置/拆卸。

但这不是事实,因为设置和拆卸是全局的。

测试同时运行,我需要在每个文件的beforeAll中插入文档,这会导致写入错误。

我为如此之多的人使用Node / MongoDB / jest堆栈感到惊讶,但我偶然发现了这么多问题。

无论如何,谢谢!

1 个答案:

答案 0 :(得分:1)

您将setup的{​​{1}} / teardown方法(将在每个测试文件之前/之后执行)与TestEnvironment / globalSetup中的方法混淆开玩笑的亚军(将在所有测试之前/之后执行)。