0

私はplayframework 2.2.6 scalaを使用しています。

アプリケーションの統合テストを作成したいと考えています。しかし、私のアプリケーションは http でいくつかのサービスを要求しており、それをmockServerでモックしたいと考えています。しかし、mockServer の開始と停止のタイミングがわかりません。これは、テストが先物を使用するためです。

@RunWith(classOf[JUnitRunner])
class AppTest extends Specification with Around {

    def around[T](t: => T)(implicit e: AsResult[T]): Result = {

        val port = 9001

        val server = new MockServer()

        server.start(port, null)

        val mockServerClient = new MockServerClient("127.0.0.1", port)

        // mockServerClient rules

        val result = AsResult.effectively(t)

        server.stop()

        result
    }

    "Some test" should {

        "some case" in new WithApplication {

            val request: Future[SimpleResult] = route(...).get

            status(request) must equalTo(OK)

            contentAsString(request) must contain(...)
        }

        "some other case" in new WithApplication {
            //
        }
    }
}

このコードを使用すると、java.net.ConnectException: 接続が拒否されました: /127.0.0.1:9001. そして、サーバーを別のテストで実行する必要があるため、server.stop なしではこれを実行できません。

4

1 に答える 1