我的应用程序使用外部第三方Web服务(我成功使用cxf)。 如何使用本地文件模拟此Web服务来构建预先保存的响应(用于测试目的)?
更具体地说:
我正在考虑使用2个maven项目: dao-ws 和 dao-ws-mock ,两者都具有相同的界面。
第一个 dao-ws 真的使用cxf调用webservices,而第二个 dao-ws-mock 使用本地文件来构建预先保存的响应(用于测试)目的)。
mvn install
构建webapp项目,而mvn install -DuseMock
使用 dao-ws-mock 依赖项构建webapp项目。 这是正确的方法吗?有更好/更简单的方法吗?
根据使用的属性,我将生成相同的.war
,但具有不同的行为。这听起来对我来说是一种不好的做法(例如,我不想在内部Nexus上使用模拟依赖推进战争)。 你怎么看?
致以最诚挚的问候,
答案 0 :(得分:1)
您可以在模拟服务中使用SoapUI的构建 - http://www.soapui.org/Getting-Started/mock-services.html
您可以基于wsdl生成模拟服务,指定默认响应,甚至可以根据请求创建返回不同响应的动态响应。
然后,您可以将模拟服务构建到.war并部署它们:http://www.soapui.org/Service-Mocking/deploying-mock-services-as-war-files.html(此链接显示如何在GUI中执行此操作,但也可以使用maven完成)
答案 1 :(得分:-1)
您可以使用Sandbox - 托管模拟服务并始终可用,因此在运行测试之前无需启动其他服务器(免责声明:我是创始人)。
您可以根据服务规范(wsdl,Apiary,Swagger)生成模拟,并根据需要添加动态行为。