我有一个specs2测试,它使用FakeApplication和一个嵌入式mongodb数据库.
def inMemoryMongoDatabase(name: String = "default"): Map[String, String] = {
val dbname: String = "play-test-" + scala.util.Random.nextInt
Map(
("mongodb." + name + ".db" -> dbname),
("mongodb." + name + ".port" -> EmbeddedMongoTestPort.toString))
}
override def around[T <% Result](t: => T) = {
running(FakeApplication(additionalConfiguration = inMemoryMongoDatabase(), additionalPlugins = Seq("se.radley.plugin.salat.SalatPlugin"))) {
t // execute t inside a http session
}
}
Run Code Online (Sandbox Code Playgroud)
FakeApplication使用conf目录中的默认application.conf配置以及为每个测试创建的测试数据库的其他配置.
直到我们设置了一个mongodb replicat集,这才有效.现在,application.conf包含此replicat集的配置
mongodb.default.replicaset {
host1.host = "localhost"
host1.port = 27017
host2.host = "localhost"
host2.port = 27018
host3.host = "localhost"
host3.port …Run Code Online (Sandbox Code Playgroud)