在Route TestKit中链接请求

问题描述 投票:0回答:1

我正在使用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
  }
}
scala akka akka-http
1个回答
0
投票

我会从第一个请求开始测试每个案例。在同样的情况下,我也会检查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
}
© www.soinside.com 2019 - 2024. All rights reserved.