【发布时间】:2011-11-10 17:11:25
【问题描述】:
我有一个 maven/mule/spring 开发环境,可以在其中构建 REST 服务。我还有一系列 TestNG 测试来验证这些服务。我还希望能够更改来自服务的响应,返回特定信息或抛出异常。这是我可以自动测试服务的更广泛行为。我认为模拟服务是最好的方法,但我找不到任何关于如何模拟 REST 服务的好信息。
我可以查看有关如何模拟 REST Web 服务的任何材料吗?
--更新--
我想我会添加一个示例以使问题更具体。如果我有以下设置:
testA calls serviceA, which then calls serviceB
如果 serviceA 应该向 testA 返回 web 异常,如果 serviceB 响应错误,我想将 mockedServiceB 注入系统进行测试,其中 mockedServiceB 总是返回错误:
testA calls serviceA, which then calls mockedServiceB (which always returns an error to serviceA)
【问题讨论】:
-
对于小规模的手动模型,您可以在网络服务器上使用静态文件和.htaccess。
-
这感觉不是正确的方法。我认为我不应该仅仅为了改进测试而改变服务器资源。如果可能的话,我宁愿将我的测试材料包含在我的测试套件中。也许使用 WSDL 或 WADL 来创建测试材料。
-
如我所说,小规模手动样机。它无论如何都不可扩展,但如果您只需要确保您的应用程序正确响应
400+ 级别错误并且它可以成功接收来自GET的数据,那么它就可以正常工作。我不认为该评论是您问题的答案是有原因的。 -
不用担心。谢谢你的澄清。
-
我意识到我上面的第一条评论具有误导性。我添加了一些相关信息以澄清我的立场。
标签: spring testing rest mocking mule