Play2 Scala specs2 - 在单个应用程序 WithServer 中进行多项测试
Play2 Scala specs2 - multiple test in a single application WithServer
按照此 post 中的说明,我已经能够 运行 在单个 FakeApplication
实例中进行多项测试。这可以显着减少测试执行时间并避免一些与 play-reactivemongo
插件相关的问题。
所以我改变了我的测试class形式:
{
"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())
再见
按照此 post 中的说明,我已经能够 运行 在单个 FakeApplication
实例中进行多项测试。这可以显着减少测试执行时间并避免一些与 play-reactivemongo
插件相关的问题。
所以我改变了我的测试class形式:
{
"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())
再见