我尝试使用Mocha和Chai运行一些暗示Moongoose和数据库调用的测试,但测试在数据库请求时失败,完全没有警告。我可能在某个地方犯了错误。
这是测试文件:
'use strict';
process.env.NODE_ENV = 'test';
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/dbtest', function(err, res) {
if(err) {
console.log('Error connecting to the database. ' + err);
} else {
console.log('Connected to Database: ' + config.mongoURI[app.settings.env]);
}
});
var chai = require('chai');
var expect = chai.expect; // we are using the "expect" style of Chai
var ScoreAction = require('./../../model/GTscoreAction.js');
describe('ScoreAction', function() {
it('newFriend', function() {
expect(ScoreAction.addNewFriend(12, 155).toEqual(1));
});
});
GTscoreAction.js方法:
ScoreActionSchema.statics.addNewFriend = function(userID, friendFacebookID) {
ScoreAction.findOne({
_user: userID,
type : 1,
data: friendFacebookID
}).exec(function(err, sa) {
if (sa)
return 0;
return 1;
});
}
这总是在" ScoreAction.findOne"没有任何警告或错误。
非常感谢您的帮助!
答案 0 :(得分:1)
QtWebEngine
实际上不是return 1;
函数的返回值。 addNewFriend()
内有一个功能,你能看到吗? :)