Scalatest и SprayIO не работает
У меня проблема с моим набором тестов. Независимо от того, что я делаю, я всегда получаю одно и то же сообщение об ошибке Request was not handled
,
Это мой тестовый набор:
class EventsServiceSpec extends FlatSpec with ScalatestRouteTest with EventsService with Matchers {
def actorRefFactory = system
behavior of "Events service"
it should "list all events" in {
Get("events") ~> eventsRoute ~> check {
status should equal (StatusCodes.OK)
}
}
}
Вот мои маршруты для этой услуги:
trait EventsService extends HttpService {
val eventsRoute =
path("events") {
get {
complete(StatusCodes.OK)
} ~
post {
entity(as[Event]) { event =>
complete(StatusCodes.OK)
}
}
}
}
Я понятия не имею, что не так, и я не хочу использовать другой тестовый фреймворк. Потому что большинство примеров с тестами в спрее написано в Spec2. Может быть, я что-то упустил.
1 ответ
Решение
Я использую Specs2, и я делаю тесты с некоторыми различными чертами. Используя ваши классы, мои тесты выглядят так:
class EventsServiceSpecTest extends SpecificationWithJUnit with Specs2RouteTest with EventsService {
"Events Service" should {
"list all events" in {
Get("events") ~> eventsRoute ~> check {
status === StatusCodes.OK
}
}
}
}
Единственное, о чем я могу думать, это то, что ваш путь должен быть "/events"
вместо "events"