Я работаю над простой тестовой спецификацией с использованием спрей, и я не могу заставить ее правильно компилироваться, не знаю, что я делаю что-то неправильно. Моя версия scala равна 2.9.3 и спрей 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
Я пробовал разные решения, рассматриваемые по другим вопросам, и пока ничего не работает.
Spray.io: не удается скомпилировать тестовую спецификацию
как сделать скалярную работу с помощью распылителя и HttpServiceActor
Основное использование Spray-Testkit для проверки маршрута не работает
https://groups.google.com/forum/#!topic/spray-user/H5hkXuDGWYQ
https://groups.google.com/forum/#!topic/spray-user/zFUJSVBPM5c
ПРИМЕЧАНИЕ: Только для записи, я не использую scalatest или scalacheck. Является чисто испытанием маршрута [спрей]. И MyProxy расширяет актер