按照本文中的说明,我已经能够在单个FakeApplication
实例中运行多个测试。这可以显著减少测试执行时间,并避免与play-reactivemongo
插件相关的一些问题。
所以我把测试类改成这样:
{
"SomeController" should {
"do this" in FakeApplication(additionalConfiguration = addConf) {
...
}
"do that" in FakeApplication(additionalConfiguration = addConf) {
...
}
}
}
:
def application = FakeApplication(additionalConfiguration = addConf)
step(play.api.Play.start(application))
"SomeController" should {
"do this" in {
...
}
"do that" in {
...
}
}
step(play.api.Play.stop())
现在的问题是,我有一些使用WithServer
构造器运行测试服务器的测试。这样的:
{
"SomeOtherController" should {
"do this" in new WithServer(app = FakeApplication(additionalConfiguration = addConf)) {
...
}
}
}
是否可以为所有测试运行一个测试服务器?
谢谢。
我找到了解决方案:
def application = FakeApplication(additionalConfiguration = addConf)
def server = TestServer(port = 3333, application)
step(server.start())
"SomeController" should {
"do this" in {
...
}
"do that" in {
...
}
}
step(server.stop())
再见