5

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

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

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

4

6 回答 6

10

您可以使用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");
于 2011-05-24T15:17:46.210 回答
3

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

另一种选择可能是类似soapUI 的东西,它有一个可以与您的测试用例集成的API,尽管我没有尝试过。

于 2010-04-13T19:05:52.133 回答
1

测试 REST 服务的另一个非正式选择是使用Firefox RESTClient 附加组件。 用于 Google Chrome 的Postman REST 客户端是另一种选择。

于 2012-09-17T16:27:54.440 回答
1

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

于 2010-04-14T02:44:31.243 回答
0

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

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

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

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

我还发现 spring 的库比 REST Assured 更容易理解,但它只是我;)

于 2014-11-23T03:29:03.260 回答
0

显然,rest-client内置了一个库。我将它与 testNG 和 XStream 一起使用,它似乎正是医生所订购的。

于 2010-04-14T13:58:52.093 回答