0
我正在學習節點和摩卡,並在下面進行了測試(生產代碼增加了數據庫中的字段)。使用摩卡和嵌套回調測試節點服務器
要查看它是否正常工作,請在調用/ events之前和之後輸出此字段的值(請參閱兩個console.log語句)。
目前,兩種情況下的輸出值均爲1。在測試之外,代碼工作正常,字段遞增。
我懷疑它與我的測試代碼中的回調有關(因爲我仍然在學習如何正確編寫和測試節點代碼,這幾乎肯定是這種情況)。
希望有人能夠發現問題。這個測試的生產代碼是here(gist)。
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();
});
})
});
});
你交看起來不錯,除了不檢查代碼'err',看看'請求期間發生的錯誤.POST()'。它可能與你的'/ events'處理程序的實現有關,所以也可以發佈它。 – robertklep 2013-04-30 10:42:36
我認爲你必須顯示Edm.find的代碼,因爲edm和edmm參數只是2個獨立的變量。目前代碼中沒有任何內容暗示它們是相同的,並且是一個計數器。 – AndyD 2013-04-30 10:43:01
@AndyD'Edm.find'是一個Sequelize構造('Edm'是模型,'find'是查詢數據庫的方法)。 – robertklep 2013-04-30 10:45:47