我们有用Java构建的Json REST API(spring,gradle)。
我们想对我们的 REST API 进行集成测试。
我们希望在构造测试时重用通过 REST API 公开的 Java Dto 对象 - 这意味着我们必须用 java/scala/groovy/等编写测试。
对易于使用且使用尽可能少样板代码的框架/测试工具有什么建议吗?
我强烈推荐休息驱动程序:
https://github.com/rest-driver/rest-driver
具体来说,您需要使用服务器驱动程序部分:
https://github.com/rest-driver/rest-driver/wiki/Server-Driver
该项目的github上有很多文档,但这里有一个REST API测试的例子:
@Test
public void getJsonResponse() {
Response response = get(BASE_URL + "/things/5", header("Accept", "application/json"));
assertThat(response, hasStatusCode(200));
}
要重用您的 DTO,您可以调用response.asJSON()
然后通过您正在使用的任何 JSON 库(杰克逊、GSON 等)转换为您的 DTO。
下面是使用它的完整示例:
https://github.com/scobal/seyren/blob/master/seyren-acceptance-tests/src/test/java/com/seyren/acceptancetests/AlertsAT.java