我正在学习 node 和 mocha 并进行下面的测试(生产代码增加了数据库中的一个字段)。
为了查看它是否工作,我在调用 /events 之前和之后输出该字段的值(参见两个 console.log 语句)。
目前,两种情况下的输出值都是 1。在测试之外,代码工作正常并且该字段递增。
我怀疑这与我的测试代码中的回调有关(因为我仍在学习如何正确编写和测试节点代码,这几乎可以肯定是这种情况)。
希望有人能发现问题。正在测试的生产代码在这里(要点)。
it('"processed" event increases processed count', function(done) {
Edm.find({campaignguid: '1234'}).success(function(edm) {
edmProcessedCount = edm.processed;
console.log("pre: " + edmProcessedCount); // result is 1
request.post('http://localhost:3001/events?campaignguid=1234&event=processed', function(err, res, body) {
Edm.find({campaignguid: '1234'}).success(function(edmm) {
console.log("post : " + edmm.processed); // result is 1 (should be 2)
done();
});
})
});
});