我尝试使用最简单的测试示例,发现仍有问题。这是我的代码。
var assert = require("assert")
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/dev', function(err){
if(err) throw err
});
describe('increment Id', function(){
describe('increment', function(){
it('should has increment', function(){
var Cat = mongoose.model('Cat', { name: String });
var kitty = new Cat({ name: 'Zildjian' });
kitty.save(function (err) {
if (err) throw err
console.log('meow');
});
})
})
})
此代码不会引发异常,但mongodb中没有更新或创建数据。
> show collections
pieces
sequences
system.indexes
答案 0 :(得分:6)
您正在同步运行测试。
要执行异步测试,您应该添加回调函数:
it('should has increment', function(done){
var Cat = mongoose.model('Cat', { name: String });
var kitty = new Cat({ name: 'Zildjian' });
kitty.save(function (err) {
if (err) {
done(err);
} else {
console.log('meow');
done();
}
});
})
或只是
it('should has increment', function(done){
var Cat = mongoose.model('Cat', { name: String });
var kitty = new Cat({ name: 'Zildjian' });
kitty.save(done);
})