
[英]Can't find a way to add new item when it doesn't exist using Vue-Treeselect
[英]Mongoose find() when item doesn't exist. Jest times out
我的某些术语可能不正确,但请忍受...
我在Web应用程序中使用Mongoose,并且具有以下代码:
User.find(req.body, function(err, results) {
if (err === null || results.length === 0) {
console.log("Error! User does not exist");
res.status(404);
} else {
// doing stuff here
}
})
使用Jest,我想测试一个用户存在和不存在的情况。 对于每个单独的测试,都覆盖了预期的代码,但是当用户不存在时,该测试仍然会失败,因为:
“测试运行一秒钟后,开玩笑并没有退出。
这通常意味着您的测试中没有停止异步操作。 考虑使用
--detectOpenHandles
运行Jest来解决此问题。”
似乎find()不会终止或在找不到项目时出现某种情况,因此测试永远无法进行。 我什至尝试将catch块添加到find(),但是它不起作用。 我做了一些研究,看到了很多关于Promise和.then等的话题,但是我不确定如何解决我的问题。
我的目标是100%的代码覆盖率,因此,如果我可以测试这两种情况,那将是理想的选择。
测试如下:
it('Can Login a User', async() => {
await supertest(server)
.post('/api/user/login')
.send(body)
.set('Accept', 'application/json')
.set('Content-Type', 'application/json')
.expect(200)
});
it("Tries to login user who doesn't exist", async() => {
await request
.post('/api/user/login')
.send(userDoesntExist)
.set('Accept', 'application/json')
.set('Content-Type', 'application/json')
.expect(404)
});
谢谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.