Я работаю над простой тестовой спецификацией с использованием спрей, и я не могу заставить его правильно компилировать, не знаю, что-то не так. Моя версия scala - 2.9.3 и спрей 1.0.1 (Обновление любого из них не является подходящим вариантом). Вот мой тестовый код:Как исправить недостающее неявное значение параметра ta: TildeArrow в спецификации теста
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
Я пробовал разные решения, рассматриваемые по другим вопросам, и пока ничего не работает.
Spray.io: Can't compile test spec
how to make scalatest work with spraytestkit and HttpServiceActor
Basic Spray-Testkit usage to test a route does not work
https://groups.google.com/forum/#!topic/spray-user/H5hkXuDGWYQ
https://groups.google.com/forum/#!topic/spray-user/zFUJSVBPM5c
ПРИМЕЧАНИЕ: Только для записи, я не использую scalatest или scalache ck на этом. Является чисто испытанием маршрута [распыления]. И MyProxy extends Actor
Этот http://stackoverflow.com/questions/27941358/spray-io-cant-compile-test-spec помог мне. – Tvaroh