我正在使用Mocha在使用Mongoose/MongoDB的Express(well,Keystone)服務器上運行測試。在before
Mocha掛鉤中,我放下數據庫,然後初始化模型,然後加載一些燈具,所有燈具都在async.series調用中進行控制,因此我確信這些事情是按順序發生的。Mongo數據庫未能準備好每隔一次測試運行
其中一個測試失敗了其他運行。該測試會對數據庫執行一個地理查詢的API調用。它失敗:
․{ [MongoError: Unable to execute query: error processing query: ns=test.locations limit=50 skip=0
Tree: GEONEAR field=lnglat.geo maxdist=5000 isNearSphere=0
Sort: {}
Proj: {}
planner returned error: unable to find index for $geoNear query] name: 'MongoError' }
․TypeError: Cannot read property 'length' of undefined
然後在下次運行成功。然後下一個失敗。等等,總是。
有什麼方法可以檢查數據庫是否準備好讓這些測試運行在它上面?對於獎金信用,世界上的什麼會導致這種一致的交替?