我正在使用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
然后在下次运行成功。然后下一个失败。等等,总是。
有什么方法可以检查数据库是否准备好让这些测试运行在它上面?对于奖金信用,世界上的什么会导致这种一致的交替?