mongodb - Mongo Shell 显示已添加文档,但 Scalatest 中断言失败

标签 mongodb scala scalatest casbah

使用 scalatest 和 Casbah,我创建了一个测试,将一堆文档加载到 Mongo 中,然后断言 collection.count() > 0

val collection = MongoConnection()(MY_DB)(MY_COLLECTION) 
collection.dropCollection // clear out any docs from previous test run

insert200DocumentsIntoMongo() // inserts 200 docs into the same DB and collection

assert(collection.size > 0) 

对于多个测试,scalatest 会抛出断言不正确的异常。

但是,测试失败后,我可以在 Mongo shell 中清楚地看到,根据上面的“MY_DB”和“MY_COLLECTION”,200 个文档被添加到 Mongo 数据库的集合中。

>db.test.count()
200

我很困惑为什么这个断言会失败,因为 Mongo shell 表明集合中有 200 个文档。

此外,我尝试使用此 post 删除整个数据库,但断言仍然失败。

最佳答案

尝试改变 mongo 写关注:

collection.setWriteConcern(WriteConcern.FsyncSafe)

关于mongodb - Mongo Shell 显示已添加文档,但 Scalatest 中断言失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19107126/

相关文章:

MongoDB 向应用程序发送信号

scala - 如何使用匹配类型实现 SKI 组合子演算?

scala - 未找到 Scala 特征中的 @Test 方法

scala - java.lang.NoClassDefFoundError:scala/Product $ class

node.js - Meteor - collection.find() 总是返回所有字段

MongoDB查找性能: single compound index VS two single field indexes

mongodb - ReactiveMongo + TypeSafe Stack => 生产?

java - 喷雾 - IllegalURI 异常

scala - 片段可以在提升中接受参数吗?

Intellij 中断言和测试的 ScalaTest 错误