我使用Spring 1.5.9引导,我们有一个微型的服务,与其他微服务连接。如何管理多个微服务并在开发(而非测试)环境中嘲笑它们?
对于集成测试和开发(开发人员计算机)我想模拟/存根其他微服务的其余呼叫。对于单元/集成测试,这个问题已经被回答了很多次:WireMock,MockBean和MockRestServiceServer都是很好的工具。但发展我想弄清楚最好的办法。
为什么?开始实际的微服务所依赖的每个微服务是一个问题。所以这个想法是让微服务独立并且在开发人员的机器或其他地方没有任何额外的服务器的情况下启动。所以,一个简单的`mvn spring-boot run'就足以启动我的微服务,并且不需要担心其他微服务。
所以,我的问题是:什么模拟/存根休息的建议的形式给出的发展要求? Wiremock在这种情况下也是一个很好的方法吗?
我的项目
我在src/main/java/resources/
两个文件:“默认”(application.properties,这是用于其他环境)和“开发”(application-dev.properties,用于开发)。
在我的测试(src/test/java/resources/
)我只有一个application.properties,那就是基本application-dev.properties的副本。
我已经尝试使用Wiremock集成测试和行之有效的。但我不想将它用于开发,因为我不太喜欢在我的JAR中引入仅用于开发的依赖关系。我的意图是使用相同的策略来进行集成测试和开发。
那么,有什么选择?
为什么不为第二个Web服务编写客户端,作为Spring bean,并在单元测试中模拟这个Spring bean?用同样的方式写DAO作为数据库的客户端,并在单元测试中模拟DAO。 –
嗨!单元/集成测试问题已解决(使用Wiremock)。我的问题是关于正常的开发环境,当你运行弹簧引导。我不知道是否使用相同的方法是“正确”的事情。 – Dherik
相关:https://stackoverflow.com/questions/39891218,https://softwareengineering.stackexchange.com/questions/332972,https://softwareengineering.stackexchange.com/questions/334609 – tkruse