有一个 globalSetup 函数

Jest globalSetup function

我正在尝试使用 globalSetup 和 Jest 通过以下代码建立我的数据库连接:

import { mongoConnect } from "../../server/services/mongo";

export default async () => {
  console.log('Connecting to DB!\n\n\n')
  await mongoConnect()
}

然而,当我转到 运行 我的代码时,我的每个测试套件都有一个失败的测试,它总是第一个 运行s。我假设这是由于每个套件中的第一个测试在数据库连接完成之前 运行ning 开始,因此导致测试失败。

有没有办法配置 Jest 在开始任何测试之前等待这个导出函数?

通过Mongoose documentation:

globalSetup and globalTeardown

Do not use globalSetup to call mongoose.connect() or mongoose.createConnection(). Jest runs globalSetup in a separate environment, so you cannot use any connections you create in globalSetup in your tests.

globalSetupglobalTeardown

中无法启动与数据库的 mongoose 连接