针对docker中的服务进行集成测试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了针对docker中的服务进行集成测试相关的知识,希望对你有一定的参考价值。
我有一个我正在测试的微服务(使用JUnit的Java maven项目)。这依赖于另一个微服务。我正在编写一个e-2-e系统测试,并希望从Docker镜像中启动外部服务以进行全自动测试。
我的问题是,让maven项目启动docker镜像实例然后可以在自动化测试套件中使用的最佳方法是什么?
目前我使用maven-exec插件在启动docker容器的集成阶段调用shell脚本。它可能不是最优雅的解决方案,我也无法知道容器何时准备就绪。
任何想法或帮助将不胜感激。
请注意:这是针对实际服务的完整系统测试,因此我不想模拟或存根外部服务。
答案
看看Spotify maven plugin的码头或Fabric8 maven pluign
Fabric8具有构建,运行和停止的目标。这可能无法帮助您了解容器是否已准备好进行测试。 (你可以在你的测试代码中有一种ping服务暂停测试,直到你得到OK 200吗?)
以上是关于针对docker中的服务进行集成测试的主要内容,如果未能解决你的问题,请参考以下文章
使用 Testcontainers 进行 Dropwizard 集成测试