2017-08-14 6 views
1

私はAsyncFunSpecにいくつかのAkka HTTPコードの同期ScalaTestテストを切り替えています。 Akka TestKitのテストを非同期にする簡単な方法はありますか?私は基本的にawaitを呼び出すのではなく、Futureを返すcheckのバージョンである必要があるだろう何非同期ScalaTestのルートテストキット

Get("/test") ~> testRoute ~> check { 
    responseAs[String] shouldEqual "Fragments of imagination" 
} 

:私のようなコードについて話しています。またはHttpRequestのようなGet("/test")RequestContextに変換するヘルパー関数を使用して、ルートを適用することができます。

+0

を/akka/current/scala/testing.html#accounting-for-slow-test-systems –

答えて

0

私はこのような何か使用して終了:http://doc.akka.io/docsを:テストがタイムアウトしないように、グローバルタイムアウト伸長因子を設定されている何人がやっているように見える

import akka.http.scaladsl.client.RequestBuilding.Get 
import akka.http.scaladsl.server.Route 

val handler = Route.asyncHandler(testRoute) 

for { 
    response <- handler(Get("/test")) 
    strict <- response.entity.toStrict 
    res <- strict.toString shouldEqual "Fragments of imagination" 
} yield res