0
我在寫一個數據庫測試(由摩卡拼命地跑),調用findOne保存文檔後,發現一個奇怪的現象:貓鼬查詢/插入無序錯誤?
僞這裏: ...
test1
A.save(check('A',done));
test2
B.save(check('B',done));
test3
C.save(check('C',done));
...
check = function(name, done) {
theModel.findOne({name:name}, function(err,result) {
assert.notEqual(result,null);
result.remove(done);
});
}
然後,測試通過但B測試不合格。我檢查日誌,我發現一個奇怪的事情: 首先它執行插入,後查詢,刪除後(第一次測試,確定這是預期的行爲)。 第一次測試後,我看到查詢在插入之前執行(所以測試失敗,沒有任何東西被刪除),我感到震驚。 第三等表現一樣!查詢在插入之前執行:(
因此,唯一通過的測試是第一個測試(如果我用B更改A,然後B通過,A不是)如果我查看mongodb集合,我可以看到另一個在查詢後執行的插入(並且因爲斷言失敗,它們被刪除)
我正在使用貓鼬2.7.2,(但是我使用的是之前的版本,只是更新以查看它是否是一個已解決的錯誤) 。說明:(