我正准备深入测试RESTful服务。我们的大多数系统都是用Java和Eclipse构建的,所以我希望能留在那里。
我已经找到了rest-client(http://code.google.com/p/rest-client/)进行手动和探索性测试,但是有一堆java类可以让我的生活更轻松吗?我正在使用testNG作为测试平台,但我会喜欢可以节省时间的辅助库。
我找到了http4e(http://www.ywebb.com/),但我真的很喜欢FOSS。
答案 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)
答案 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更容易理解,但它只是我;)