Javascript 如何纠正“错误”;连接.readyState“;猫鼬对测试用例的影响;“连接”;至;“连接”吗;?
我在mongoose中创建了一个用户模型(注册)。该模型可以从mocha中创建的测试用例以及前端的注册表单中访问。新用户可以通过前端从注册表中保存,但不能保存用mocha编写的测试用例 当我检查代码时,mongoose的Javascript 如何纠正“错误”;连接.readyState“;猫鼬对测试用例的影响;“连接”;至;“连接”吗;?,javascript,node.js,express,mongoose,mocha.js,Javascript,Node.js,Express,Mongoose,Mocha.js,我在mongoose中创建了一个用户模型(注册)。该模型可以从mocha中创建的测试用例以及前端的注册表单中访问。新用户可以通过前端从注册表中保存,但不能保存用mocha编写的测试用例 当我检查代码时,mongoose的连接。readyState在测试用例上是2(连接),在用户注册表单上是1(连接) models/users.js var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test');
连接。readyState
在测试用例上是2
(连接
),在用户注册表单上是1
(连接
)
models/users.js
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
console.log('conn ready: '+mongoose.connection.readyState);
// "conn ready: 2" i.e connecting for test case as well as from user register form
var Schema = mongoose.Schema,
ObjectId = Schema.ObjectId,
UserSchema = new Schema({
// schemas
});
UserSchema.statics.newUser = function (uname, email, pass) {
var instance = new User();
instance.uname = uname;
instance.email = email;
instance.pass = pass;
console.log("conn state: "+mongoose.connection.readyState);
// "conn state: 2" i.e connecting for test case. But 1 i.e connected for user register form
instance.save(function (err) {
// Do rest
});
};
var User = mongoose.model('User', UserSchema);
exports.User = User;
如何在测试用例上纠正mongoose的
连接.readyState
?问题在于mocha测试文件中it
方法的参数传递。我忘记将it
方法的done
参数放在测试用例中,并且没有在测试用例的末尾调用passed函数done()
describe('User', function () {
it('new user create', function (done) {
^^^^
User.newUser(
'test','test@test.com', 'test123',
function (err, user) {
should.not.exist(err);
done();
^^^^^^
}
);
});
});