我JUnit
对 REST Web 服务进行了测试。现在我认为这JUnit
不是最好的工具,因为这些测试是集成测试而不是单元测试。所以我可能需要一个 Java 库,它可以帮助发送 HTTP 请求、验证 HTTP 响应、创建报告并并行执行这些操作。
另一方面,也许我弄错了,Junit
(使用HTTPUnit
等)已经足够好了,我不需要其他工具。
你有什么建议?
我JUnit
对 REST Web 服务进行了测试。现在我认为这JUnit
不是最好的工具,因为这些测试是集成测试而不是单元测试。所以我可能需要一个 Java 库,它可以帮助发送 HTTP 请求、验证 HTTP 响应、创建报告并并行执行这些操作。
另一方面,也许我弄错了,Junit
(使用HTTPUnit
等)已经足够好了,我不需要其他工具。
你有什么建议?
我也面临类似的问题......并开始环顾四周并进行试验。
我发现这是另一个 stackoverflow 问题:Unit testing a JAX-RS Web Service? (显然泽西岛允许进行此类测试)。
这是弹出的两个选项:
把事情简单化。看看https://github.com/valid4j/http-matchers
// Statically import the library entry point:
import static org.valid4j.matchers.http.HttpResponseMatchers.*;
// Invoke your web service using plain JAX-RS. E.g:
Client client = ClientBuilder.newClient();
Response response = client.target("http://example.org/hello").request("text/plain").get();
// Verify the response
assertThat(response, hasStatus(Status.OK));
assertThat(response, hasHeader("Content-Encoding", equalTo("gzip")));
assertThat(response, hasEntity(equalTo("content")));
// etc...