【发布时间】:2015-01-04 04:36:58
【问题描述】:
我正在编写一个基本的 Mocha 测试。我尝试创建一个用户并将其保存到数据库中。
var should = require('should');
var User = require('../../models/User.js');
require('../utils');
var testAccount = new User({
local:{
email: 'test@gmail.com',
password: 'a'
}});
describe('request', function() {
describe('request', function() {
it('should create users', function(done) {
testAccount.save(function(err, user){
should.not.exist(err);
done();
});
});
it('should list users', function(done) {
User.find({}, function(err, users){
should.not.exist(err);
users.length.should.equal(1);
done();
});
});
});
});
utils.js是一个简单的js文件,保证连接数据库
var dbURI = 'dburi';
var mongoose = require('mongoose');
var clearDB = require('mocha-mongoose')(dbURI);
beforeEach(function (done) {
if (mongoose.connection.readyState === 0) {
mongoose.connect(dbURI, function (err) {
if (err) {
throw err;
}
return done();
});
}
else {
return done();
}
});
afterEach(function (done) {
mongoose.disconnect();
return done();
});
Mocha 不会为 save 方法抛出任何错误,即使它没有保存用户(我还检查了数据库)。我错过了什么吗?
1 passing (67ms)
1 failing
1) request request should list users:
Uncaught AssertionError: expected 0 to be 1
+ expected - actual
+1
-0
【问题讨论】:
标签: node.js mongodb mongoose mocha.js