gpt4 book ai didi

javascript - 在每个测试文件之前开 Jest 异步设置

转载 作者:行者123 更新时间:2023-11-29 15:12:21 24 4
gpt4 key购买 nike

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

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

Note: TestEnvironment is sandboxed. Each test suite will trigger setup/teardown in their own TestEnvironment.

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

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

我对这么多人使用 Node/MongoDB/jest 堆栈这一事实感到震惊,但我却偶然发现了这么多问题。

无论如何,谢谢你!

最佳答案

您混淆了 TestEnvironmentsetup/teardown 方法(将在每个测试文件之前/之后执行)与 Jest runner 的 globalSetup/globalTeardown(将在所有测试之前/之后执行)。

关于javascript - 在每个测试文件之前开 Jest 异步设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53279992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com