2
我正在處理一個複雜的計算,它涉及從多個集合收集數據,然後處理這些數字。爲此,我正在關注TDD並希望首先編寫單元測試。我知道查詢數據庫違反了單元測試範例,我應該使用模擬對象,但我暫時想查詢數據庫以測試幾個數字。我試圖使用Mongoose promise來解決NodeJS的異步方面,但我無法弄清楚。這裏是我的代碼:單元測試使用Mongoose Promise的MongoDB查詢
(function (argument) {
'use strict';
var should = require('should');
var assert = require('chai').assert;
var mongoose = require('mongoose');
var MeasureTherm = mongoose.model('MeasureTherm');
describe('Calculations Server Test', function(){
describe('Model Tests', function() {
it('should find all MeasureTherms for a Program, Year and End Use', function() {
var promise = getMeasureThermsByProgramAndEndUse("Program 1", 2015, "End Use 1").then(function(results) {
this.fulfill(results);
});
promise.onFulfill(function(results){
assert.equal(200, results.length);
});
});
});
});
var getMeasureThermsByProgramAndEndUse = function (program, year, endUse) {
return MeasureTherm.find().exec();
};
})();
我的測試總是就算我在assert.equal輸入無效行程數()。