所以,我有一组用 scala 编写的 Akka Http 路由。看起来像这样
val route: Route = {
handleRejections(PrimaryRejectionHandler.handler) {
handleExceptions(PrimaryExceptionHandler.handler) {
cors() {
encodeResponseWith(Gzip) {
pathPrefix("v1") {
new v1Routes().handler
} ~
path("ping") {
complete("pong")
}
}
}
}
}
}
现在我想使用 scala-test 和 akka testkit 来测试它。
class HttpRouteTest extends WordSpec with Matchers with ScalatestRouteTest {
"GET /ping" should {
"return 200 pong" in new Context {
Get("/ping") ~> httpRoute ~> check {
responseAs[String] shouldBe "pong"
status.intValue() shouldBe 200
}
}
}
trait Context {
val httpRoute: Route = new HttpRoute().route
}
}
现在,我在路由中使用 gzip 对我的响应进行编码,当它试图转换为字符串时,测试变得乱码。结果测试没有通过。
有什么解决办法吗?提前致谢。