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"

Другие вопросы по тегам