gpt4 book ai didi

javascript - NodeJS 使用 Mocha 和 Should.js 测试数据库

转载 作者:太空宇宙 更新时间:2023-11-04 01:08:42 27 4
gpt4 key购买 nike

我正在使用 mocha 测试我的 NodeJS 应用程序,并且应该。虽然第一个测试运行顺利,但第二个测试失败(错误等于 null)。在这两个测试中,如果在回调中获得了有效的用户(两者在 mongoose 中具有相同的 id)。测试显然不会等待数据库操作发生。

describe("User", function(){
before(function (done) {
// clear database
model.UserModel.collection.remove(done);
})

it("should save", function(done){
user1.save(function(error, user){
should.not.exist(error);
user.should.have.property("first_name", "Rainer");
done();
})
})

it("should not save duplicate user", function(done){
user1.save(function(error, user){
should.exist(error);
done();
})
})
})


当我将第二个测试放在第一个测试的回调中时,它也不起作用。我想测试重复键错误,但在给定情况下无法实现。

最佳答案

看来您正在重复使用 user1 文档。

在 Mongoose 中,您可以再次保存相同的文档(例如,在对其进行更改之后);这并不意味着保存了新文档,只是旧文档将被更新。

如果您想正确测试,您应该在第二个测试中创建一个新的文档实例(具有与第一个相同的属性)。

关于javascript - NodeJS 使用 Mocha 和 Should.js 测试数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20194204/

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