ser*_*rah 6 java rest web-services
在 Java 中测试 REST 服务的最佳方法是什么?开发人员通常采用哪些方法和工具集?
此外,如果您正在编写调用第三方 REST 服务的 REST 客户端。测试 REST 客户端的最佳方法是什么。您是否有与第三方 REST 服务通信的 JUnit 测试。您可能会遇到服务不可用/或生产 REST 服务在没有某些凭据的情况下无法访问的风险。
我建议您查看 REST Assured 以进行 REST 服务的自动化测试。以下示例是从其网页复制的:
例如,如果您的 HTTP 服务器在“ http://localhost:8080/lotto/ {id}”处返回以下 JSON :
{
"lotto":{
"lottoId":5,
"winning-numbers":[2,45,34,23,7,5,3],
"winners":[
{
"winnerId":23,
"numbers":[2,45,34,23,3,5]
},
{
"winnerId":54,
"numbers":[52,3,12,11,18,22]
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
您可以轻松地使用 REST Assured 从响应中验证有趣的事情:
@Test public void
lotto_resource_returns_200_with_expected_id_and_winners() {
when().
get("/lotto/{id}", 5).
then().
statusCode(200).
body("lotto.lottoId", equalTo(5),
"lotto.winners.winnerId", containsOnly(23, 54));
}
Run Code Online (Sandbox Code Playgroud)
如果您已经使用 Spring Boot 实现了您的服务器应用程序,您可能还会发现我几年前写的关于集成测试 Spring Boot 应用程序的博客文章很有趣。它展示了 Spring Boot 测试支持如何在针对 REST API 执行基于 REST Assured 的测试之前启动嵌入式 Web 服务器并将应用程序部署到它。换句话说,您既不需要手动启动 Web 服务器,也不需要在测试之间重新部署应用程序。事实上,您甚至不必在代码更改之间创建 .war 或 .jar 文件来验证 REST API 更改。
归档时间: |
|
查看次数: |
25951 次 |
最近记录: |