【发布时间】:2021-02-01 21:23:18
【问题描述】:
我正在尝试使用 jest 和 supertest 测试 express/mongoose api,但我不知道如何在每次测试后删除所有文档。
我尝试了以下解决方案,但都无济于事:
afterEach(() => {
User.deleteMany();
});
afterEach(async () => {
await User.deleteMany();
});
afterEach(() => {
User.deleteMany()
.then((info) => {
console.log(info);
})
.catch((err) => {
console.log(err);
});
});
如果有帮助,这里是repo。违规代码位于 api/controllers/users.test.js
【问题讨论】:
-
在我们的项目中,我们使用不同的方法。我们改为模拟保存/更新,因此我们实际上不会将文档保存/更新到数据库中,因为它可能会干扰真实数据。
-
试试
afterAll(async () => { await User.deleteMany(); }); -
@dimitristseggenes 感谢您的建议,我试过了,但每当我尝试使用 async/await 时它仍然超时
-
@GytisTG 这可能是我必须做的,我一定会调查的,谢谢!
标签: api express mongoose jestjs supertest