如何测试REST客户端?

时间:2018-01-11 10:22:28

标签: java rest

我有一个Java客户端,可以连接到REST服务器,发送特定请求并获得响应。但是,实际的REST服务器在开发期间不可用(它由第三方托管,仅在目标机器的隔离本地网络中可用),我们仍然希望测试与服务器的连接和交互。

您能否指出我的产品或技术,首先让我根据REST调用参数的规范快速创建一个虚假的REST服务器(或至少模拟它)?我在网上做了一些研究,但是没有"是的,就是这样!"那一刻。

3 个答案:

答案 0 :(得分:0)

您可以使用任何其他模拟框架来实现此目的。根据我的经验 Wiremock是RES API Mocking的最佳框架。

http://wiremock.org/

答案 1 :(得分:0)

对于客户端测试,我建议使用像SOAP UI或Postman这样的工具。但是对于模拟REST服务本身,我实际上建议只在Java Web应用程序中创建一些虚拟端点并使用它。在每个端点,您可以使用JSON,XML或任何对您的服务有意义的简单响应进行硬编码。然后,当您最终进入实际开发阶段时,您已经拥有了一个适用于REST服务的功能框架。你只需要填写缺失的部分。

这是有道理的,因为无论如何您将需要在Java代码中设置REST支持,并且仅添加存根的工作量应该是最小的。从可以避免从模拟REST服务切换到实际服务的任何潜在意外情况来看,这种方法也很有吸引力。

答案 2 :(得分:0)

您可以使用mockwebserver library by square。它使用起来非常简单,并且完全按照您的尝试进行操作。

少量使用样本:

MockWebServer server = new MockWebServer();
server.enqueue(new MockResponse().setBody("hello world"));
server.start();