Цепочка запросов в Route TestKit - PullRequest
0 голосов
/ 05 сентября 2018

Я тестирую несколько простых API с Route TestKit, и я хотел бы знать, возможно ли чисто чередовать запросы. Допустим, я хочу проверить, что результат get, а затем и сообщения, дает определенный результат. Какой самый чистый / самый идиоматичный способ добиться этого?

Приведенный пример из документов:

"leave GET requests to other paths unhandled" in {
  // tests:
  Get("/kermit") ~> smallRoute ~> check {
    handled shouldBe false
  }
}

как бы я протестировал такой сценарий, в котором предыдущая публикация изменяет результат Get (это не правильный код, но объясняет идею):

"leave GET requests to other paths unhandled" in {
  // tests:
  Post("/kermit") ~> Get("/kermit") ~> smallRoute ~> check {
    handled shouldBe true
  }
}

1 Ответ

0 голосов
/ 05 сентября 2018

Я бы тестировал каждый случай, начиная с первого запроса. И я бы также проверил Get до и после Post в том же случае.

Чтобы выполнять запросы один за другим, вы можете вложить «Получить внутри сообщения»:

  // tests:
  Post("/kermit") ~> smallRoute ~> check {
    Get("/kermit") ~> smappROute ~> check {
    //check
    }
  }

Или вы можете запустить их последовательно:

Post() ~> complete("ok") ~> check {//empty body}
Get() ~> complete("ok") ~> check {
  //actual checks
}
...