是否有用于测试RESTful API的Java包?

时间:2010-04-13 17:10:56

标签: java testing integration-testing testng

我正准备深入测试RESTful服务。我们的大多数系统都是用Java和Eclipse构建的,所以我希望能留在那里。

我已经找到了rest-client(http://code.google.com/p/rest-client/)进行手动和探索性测试,但是有一堆java类可以让我的生活更轻松吗?我正在使用testNG作为测试平台,但我会喜欢可以节省时间的辅助库。

我找到了http4e(http://www.ywebb.com/),但我真的很喜欢FOSS。

6 个答案:

答案 0 :(得分:9)

您可以使用REST Assured,这样可以非常轻松地从JUnit或TestNG中测试和验证Java中的REST服务。例如。假设对名为“/ lotto”的服务的GET请求返回以下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] }] } }

然后你可以发出请求并使用REST Assured验证响应(在这种情况下,lotto id等于5),如下所示:

expect().body("lotto.lottoId", equalTo(5)).when().get("/lotto");

答案 1 :(得分:3)

JMeter可以选择吗?它具有HTTP请求采样器,支持所有HTTP方法和断言以验证响应。

另一种替代方法可能是soapUI,它的API可能与您的测试用例integrated相同,但我还没有尝试过。

答案 2 :(得分:1)

CXF显然支持REST。我自己还没有尝试过REST支持,但我认为CXF是一个极好的,灵活的,基于标准的Web服务实现。

答案 3 :(得分:1)

测试REST服务的另一个非正式选项是使用Firefox RESTClient Add-on。 谷歌浏览器Postman REST Client是另一种选择。

答案 4 :(得分:0)

显然rest-client内置了一个库。我正在使用testNG和XStream,它似乎正是医生所要求的。

答案 5 :(得分:0)

我今天正在围绕休息服务的单元测试工作,我需要测试部署的服务器以检查一些并发性的恢复,所以我需要测试部署休息服务。

起初我尝试过Johan提出的解决方案,并开始使用REST Assured并取得了一些成功,但是找了更多文档,我发现了这个:

http://uttesh.blogspot.com/2012/09/spring-rest-web-service-test.html

它基于弹簧库,所以如果你使用spring,你将继续使用来自同一供应商的东西,这总是很好。

此外,我发现春天的lib比REST Assured更容易理解,但它只是我;)

相关问题