gpt4 book ai didi

unit-testing - 使用哪个 Scala 框架来测试 REST 服务?

转载 作者:行者123 更新时间:2023-12-04 08:28:01 24 4
gpt4 key购买 nike

我想用 Spec2和 Scala 来测试使用 Java 构建的 REST 服务。我看了Spray但看起来您必须使用 Spray 构建应用程序才能使用 SprayTest 对其进行测试。我还找到了 this thread但这并不是我真正要寻找的。

还有其他想法吗?

最佳答案

我们已经成功地使用 Specs2 和 Dispatch 库 (https://dispatchhttp.org/Dispatch.html) 测试了我们所有的 REST API。 Dispatch 需要一点时间来理解,但是一旦您了解了它如何将所有内容与各种运算符组合在一起,您就可以使用几行代码测试一个简单的 REST 服务。

这是最近项目中的几个测试用例:

  def issueErrorStatus = {
val requestBody = "msisdn=447777666666&message=Some test message"
val req = url("http://localhost:%d/otac/issue".format(port)) <<
(requestBody, "application/x-www-form-urlencoded")
val response = Http.when(_ == 400)(req <:< (touchPointHeaders) as_str)
response must_== """{"error":"Message must contain an {OTAC} place holder"}"""
}

def checkOtac = {
val req = url("http://localhost:%d/otac/check".format(port)) <<?
Vector(("msisdn" -> "447777123456"))
val response = Http(req <:< (touchPointHeaders) as_str)
response must_== """{"status":"Present","reissueAllowed":true}"""
}

第一个测试发出 post 请求,第二个测试发出 get 请求。我们还有一些更复杂的测试,它们通过lift-json 解析器解析响应JSON 字符串,以便我们可以更轻松地再次断言文档。以上测试只是检查一些简单的错误/状态情况。

还有一个正在进行的 dispatch-reboot 项目,它有一个简化的 API 并使用异步连接。不确定它有多稳定。

关于unit-testing - 使用哪个 Scala 框架来测试 REST 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10533554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com