2

我的测试套件有问题。无论我做什么,我总是得到相同的错误信息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 编写的。也许我错过了一些东西。

4

1 回答 1

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"

于 2014-05-20T04:48:33.163 回答