1

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

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

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

谢谢!

4

5 回答 5

3

我使用Jersey 测试框架来测试 - 如果您使用 Jersey 编写代码。它在后台运行灰熊。

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

或者您可以使用HttpClient生成帖子并获取对您正在运行的服务的请求。

于 2013-01-17T16:57:54.027 回答
1

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

如果您想实际进行 HTTP 调用,您可以使用其他几个库(已经建议使用 Jersey 客户端)。

于 2013-01-17T16:57:53.240 回答
1

放心是你想要找到的东西吗?

于 2013-06-13T09:20:52.670 回答
0

我的组织使用 spring 来生成我们的模拟休息服务。Spring MVC 测试框架(以前称为 spring social test)工作得很好。但是,如果您还没有使用 spring,我建议您使用 Jmock、mockito 或 easy mock 来伪造响应。

于 2013-01-17T17:11:07.530 回答
0

我不喜欢使用模拟的想法,因为它遗漏了 HTTP 的东西。最好使用模拟服务器,例如在此处输入链接描述。首先这有点棘手,但是一旦您启动并运行了测试用例,它就会变得轻而易举。我使用随机端口来启动模拟服务器,以便可以并行运行测试。

于 2015-10-16T11:27:37.237 回答