我使用 jest 向我的节点 js 项目添加了测试,但对于每个测试套件,都有一个 beforeAll 方法创建一个新的测试服务器并连接到一个 mongo 数据库和一个 afterAll 方法关闭测试服务器和数据库。我想为所有测试套件全局执行上述任务,而不是一次一个。下面是我的代码示例。
应用程序.js
const express = require("express");
const app = express();
const { connectToDb } = require("./startup/db");
require("./startup/routes")(app);
connectToDb();
...
const port = process.env.PORT || 3000;
if (process.env.NODE_ENV !== "test") {
app.listen(port, () => winston.info(`Listening on port ${port}...`));
}
module.exports = app;
Run Code Online (Sandbox Code Playgroud)
auth.test.js
const request = require("supertest");
const http = require("http");
const { disconnectDb } = require("../../startup/db");
describe("auth middleware", () => {
let server;
beforeAll((done) => {
const app = require("../../app"); …Run Code Online (Sandbox Code Playgroud)