java - 使用 java/scala/groovy 进行 REST API 集成测试

标签 java rest testing integration-testing

我们有用 Java(spring、gradle)构建的 Json REST API。

我们想对我们的 REST API 进行集成测试。

我们希望在构建测试时重用通过我们的 REST API 公开的 Java Dto 对象——这意味着我们将不得不在 java/scala/groovy/etc 中编写测试。

有没有关于易于使用且样板代码尽可能少的框架/测试工具的建议?

最佳答案

我强烈推荐 rest-driver:

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 库(Jackson、GSON 等)转换为您的 DTO。

这是一个完整的使用示例:

https://github.com/scobal/seyren/blob/master/seyren-acceptance-tests/src/test/java/com/seyren/acceptancetests/AlertsAT.java

关于java - 使用 java/scala/groovy 进行 REST API 集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21703277/

相关文章:

testing - 如何在测试管理器中有效地处理需求?

java - Spring 移动 : how to add DeviceWebArgumentResolver programmatically?

java - Java 中查找字段属于哪个类,父类还是子类?

c# - 为具有速率限制和缓存的 ASP.NET MVC 站点创建 API

java - 需要用Java写一个RESTful JSON服务

java - 使用 Spring Boot 和 RestTemplate 使用嵌套的 JSON 数组

java - 我不知道如何从 EditText 获取输入以传递到另一个文件

java - Spring 启动: inject mock into Runner class

testing - Heroku 测试一夜之间开始失败? (无法配置沙盒)

java - 从命令行使用 TestNG 运行 selenium 测试