加载数据库以便使用Mocha和Chai进行测试

时间:2016-11-05 10:00:59

标签: node.js mongoose mocha chai

我尝试使用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"没有任何警告或错误。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

QtWebEngine实际上不是return 1;函数的返回值。 addNewFriend()内有一个功能,你能看到吗? :)