代码之家  ›  专栏  ›  技术社区  ›  stilllife

Jest:全局设置异步,可以访问Jest进行模拟

  •  0
  • stilllife  · 技术社区  · 6 年前

    mongodb-memory-server )

    我的目标 对于所有测试文件,内存中的db应该只启动一次。

    问题 除了点燃记忆中的mongo,我还需要嘲笑我的 dbService.js globalSetup 因为在那个文件里 jest undefined . 我甚至不能使用 setupFiles 因为它们是按文件运行的,而且是同步的,而mongodb connect的性质决定了我需要一个异步函数。我也试过用 beforeAll

    阿尔索 我想避免有一个唯一的测试文件。我知道这是一个解决办法,但我想知道是否有一个简单和干净的解决办法。最理想的方案是“先异步执行一些操作,然后并行执行测试”。应该没那么难不?

    1 回复  |  直到 6 年前
        1
  •  0
  •   SimenB    6 年前

    我要做的是把文件下载到 globalSetup __mocks__ 目录或在 setupFiles 以避免在每个测试中都显式地设置它。

    这个 目录更可取,因为只有当代码最终需要该文件时,模拟才会运行,而不是在每个测试中运行。