我正在使用 Spray 编写一个简单的测试规范,但我无法正确编译它,不知道我是否做错了什么。我的 scala 版本是 2.9.3 和 spray 1.0.1(更新它们中的任何一个都不是合适的选择)。这是我的测试规范的代码:
import org.specs2.mutable.Specification
import spray.testkit.Specs2RouteTest
import spray.http._
import akka.util.Duration
import java.util.concurrent.TimeUnit
import service.MyProxy
abstract class MyTestSpec extends Specification with Specs2RouteTest with MyProxy{
val duration = Duration(30, TimeUnit.SECONDS)
implicit val routeTestTimeout = RouteTestTimeout(duration)
"MyProxy" should {
"return a json for GET requests to the /api/getclass/classCode path for a regular request" in {
Get("/api/getclass/123/") ~> myRoutes~> check {
responseAs[String] must contain("classCode")
contentType === ContentTypes.`application/json`
}
}
} // end should...
} //end class
运行测试时出现此错误。
[error] C:\Users\Desktop\Project\MyTestSpec.scala:23: could not find implicit value for parameter ta: MyProxySpec.this.TildeArrow[spray.routing.RequestContext,Unit]
[error] Get("/api/getclass/123/") ~> myRoutes~> check {
[error] ^
[error] one error found
[error] (test:compile) Compilation failed
我已经尝试过在其他问题上看到的不同解决方案,但到目前为止似乎没有任何效果。
如何使用 spraytestkit 和 HttpServiceActor 使 scalatest 工作
用于测试路线的基本 Spray-Testkit 用法不起作用
https://groups.google.com/forum/#!topic/spray-user/H5hkXuDGWYQ
https://groups.google.com/forum/#!topic/spray-user/zFUJSVBPM5c
注意:为了记录,我没有使用 scalatest 或 scalacheck 。纯粹是[spray]路由测试。而MyProxy扩展了Actor