在java中测试REST服务

时间:2013-01-17 16:38:27

标签: java web-services rest testing tdd

所以,这就是事情 我正在使用的REST服务应该被测试,我无法访问代码。

我在java中创建了某种类型的库,所以我可以与该服务进行交互,但是我需要对我的库进行单元测试(实际上它还没有实现,我正在使用TDD)所以我可以确定它是有效的

我怎么能这样做,所以我不搞乱服务(我不想创建或删除任何东西)? 我应该使用某种模拟或存根吗?如果是这样,怎么办呢?

THX!

5 个答案:

答案 0 :(得分:3)

我使用Jersey test framework进行测试 - 如果您已经使用Jersey编写了代码。它在后台运行着灰熊。

您可以使用HttpUnit的PseudoServer创建虚假响应。

或者您可以使用HttpClient生成对正在运行的服务的发布和获取请求。

答案 1 :(得分:1)

您可以使用模拟框架(我喜欢Mockito)来模拟您的API端点库。然后,您可以使用传统的junit测试来确保您的库正在进行预期的API调用。

如果你想真正进行HTTP调用,你可以使用的其他库很少(已建议使用Jersey客户端)。

答案 2 :(得分:1)

rest assured你想找到的东西吗?

答案 3 :(得分:0)

我的组织使用spring来生成我们的模拟休息服务。 Spring MVC test framework (formally spring social test)效果很好。但是,如果你还没有使用弹簧,我会建议使用Jmock,mockito或者简单模拟假冒回复。

答案 4 :(得分:0)

我不喜欢使用模拟,因为它省去了HTTP的东西。最好的是使用像enter link description here这样的模拟服务器。首先有点棘手,但是一旦你的测试用例启动并运行它就变得轻而易举。我使用随机端口启动模拟服务器,以便可以并行运行测试。