Nach der Migration meiner Play (Scala) -App auf 2.5.3 scheitern einige Tests meines Codes mit ReactiveMongo, die nun bestanden wurden, im Setup.ReactiveMongo ConnectionNotInitialized im Test nach der Migration auf Play 2.5
Hier ist mein Code ScalaTest:
def fixture(testMethod: (...) => Any) {
implicit val injector = new ScaldiApplicationBuilder()
.prependModule(new ReactiveMongoModule)
.prependModule(new TestModule)
.buildInj()
def reactiveMongoApi = inject[ReactiveMongoApi]
def collection: BSONCollection = reactiveMongoApi.db.collection[BSONCollection](testCollection)
lazy val id = BSONObjectID.generate
//Error occurs at next line
Await.result(collection.insert(Person(id = id, slug = "test-slug", firstName = "Mickey", lastName = "Mouse")), 10.seconds)
...
}
An der Einsatzleitung, bekomme ich diese:
reactivemongo.core.errors.ConnectionNotInitialized: MongoError [ 'Verbindungs Metadaten fehlt (wie Protokoll Version, usw.) Der Verbindungspool wird wahrscheinlich initialisiert. ']
Ich habe eine Menge Dinge wie Initialisierung collection
mit einer lazy val
Inst versucht ead von def
. Aber nichts hat funktioniert.
Jeder Einblick in, wie man meine Tests wieder erhält, wird geschätzt.
Sie sollten nicht 'reactiveMongoApi.db' (veraltet), sondern' reactiveMongoApi.database' verwenden. – cchantep
OK. Es war nicht offensichtlich, dass der Aufruf veraltet ist, da die Dokumentation dies nicht anzeigt und der [Quellcode] (https://github.com/ReactiveMongo/Play-ReactiveMongo/blob/01499f90cb0c0ddf21aa602908dc276d2f6a415b/src/main/scala/play/ modules/reactivemono/ReactiveMongoApi.scala # L47) sagt das auch nicht (und deshalb hat meine IDE es nicht durchgestrichen). Aber ja, das hat es behoben. Fühlen Sie sich frei, diese Informationen als Antwort zur Verfügung zu stellen, damit ich Sie mit einigen Punkten einhaken kann. – Vidya