如何管理多个微服务并在开发(而非测试)环境中嘲笑它们?
我使用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中引入仅用于开发的依赖关系。我的意图是使用相同的策略来进行集成测试和开发。
那么,有什么选择?
回答:
所以要在本地例如启动您的microService对于手动测试,但不想启动它所依赖的所有其他微服务。
团队执行下列操作之一:
- 连接本地微服务共享,部署微服务实例(分期环境)
- 连接本地的microService其他微服务的易于推出搬运工图像
- 连接到一个本地运行的模拟一些/所有其他微服务的线模实例。您可以从您的microService
- 开始wiremock独立为单独写其他微服务的一小部分轻质定制模拟(只比wiremock更好,如果有做一些业务逻辑)
- 不要连接到任何东西,但返回空值来自内部API客户端。
- 其实本地
哪个最适合你的作品取决于你的环境,究竟其他microserivce依赖提供的功能,启动所有其他微服务。你不能期望任何这些都是最适合所有球队和所有情况的银弹。
以上是 如何管理多个微服务并在开发(而非测试)环境中嘲笑它们? 的全部内容, 来源链接: utcz.com/qa/265222.html