我正在使用Route TestKit测试一些简单的API,我想知道是否可以干净地链接请求。假设我想测试get的结果,然后是帖子,给出一定的结果。实现这一目标的最干净/最惯用的方法是什么?
给出一个来自文档的例子:
"leave GET requests to other paths unhandled" in {
// tests:
Get("/kermit") ~> smallRoute ~> check {
handled shouldBe false
}
}
我将如何测试这样的场景,其中之前的Post更改了Get的结果(这不是正确的代码,但解释了这个想法):
"leave GET requests to other paths unhandled" in {
// tests:
Post("/kermit") ~> Get("/kermit") ~> smallRoute ~> check {
handled shouldBe true
}
}
我会从第一个请求开始测试每个案例。在同样的情况下,我也会检查Post之前和之后的Get。
要一个接一个地运行请求,您可以嵌套Get inside Post:
// tests:
Post("/kermit") ~> smallRoute ~> check {
Get("/kermit") ~> smappROute ~> check {
//check
}
}
或者您可以按顺序运行它们:
Post() ~> complete("ok") ~> check {//empty body}
Get() ~> complete("ok") ~> check {
//actual checks
}