【问题标题】:Loading the database for testing with Mocha and Chai加载数据库以使用 Mocha 和 Chai 进行测试
【发布时间】:2017-03-19 03:02:22
【问题描述】:

我正在尝试使用 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”上失败,没有警告或错误。

非常感谢您的帮助!

【问题讨论】:

    标签: node.js mongoose mocha.js chai


    【解决方案1】:

    return 1; 实际上并不是addNewFriend() 函数的返回值。 .exe()里面有一个函数,你看到了吗? :)

    【讨论】:

    • 非常感谢,对调试很有帮助。
    猜你喜欢
    • 2017-02-18
    • 2021-07-01
    • 1970-01-01
    • 2015-10-01
    • 2023-03-22
    • 2013-04-11
    • 2019-02-15
    • 2014-11-25
    • 2021-09-27
    相关资源
    最近更新 更多