Wie kann ich den fehlenden impliziten Wert für den Parameter ta: TildeArrow in einer Testspezifikation beheben?
Ich arbeite mit Spray an einer einfachen Testspezifikation und kann sie nicht richtig kompilieren. Ich weiß nicht, ob ich etwas falsch mache. Meine Version von Scala ist 2.9.3 und Spray 1.0.1 (eine Aktualisierung ist keine geeignete Option). Hier ist der Code meiner Testspezifikation:
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
Ich erhalte diesen Fehler, wenn ich den Test durchführe.
[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
Ich habe verschiedene Lösungen für andere Fragen ausprobiert und bisher scheint nichts zu funktionieren.
Spray.io: Testspezifikation kann nicht kompiliert werden
So funktioniert Scalatest mit Spraytestkit und HttpServiceActor
Basic Spray-Testkit zum Testen einer Route funktioniert nicht
https: //groups.google.com/forum/#! topic / spray-user / H5hkXuDGWYQ
https: //groups.google.com/forum/#! topic / spray-user / zFUJSVBPM5c
HINWEIS Nur zur Veranschaulichung, ich verwende weder Scalatest noch Scalacheck. Ist rein ein [Spray] Streckentest. Und MyProxy erweitert Actor