我正在阅读本教程,了解如何使用故障安全插件编写集成测试
很好。但我需要编写测试设置 Hook 。在这些钩子(Hook)中,我将配置 docker 容器。我还需要编写将关闭容器的拆卸钩子(Hook)。我发现这段代码中有创建、启动容器和关闭容器的逻辑。
https://github.com/wouterd/hippo-docker/blob/master/myhippoproject/integrationtests/pom.xml
但我不确定测试将如何运行,以及如何以正确的顺序调用 XML 中定义的这些目标以运行集成测试。
基本上,我需要首先调用构建镜像,然后启动容器,然后必须运行测试,最后停止并清理。
有人可以帮我连接这些点吗? (这些可能是显而易见的)。
最佳答案
您需要了解 Maven Lifecycle 。这定义了 Maven 将执行构建的各个阶段的“路径”。如果您通读Lifecycle Reference您将看到按执行顺序列出的各个阶段。
每个阶段都可以通过不同的插件附加。特别是docker maven plugin hippo-docker 中使用的定义不同的“目标”(例如启动容器)默认附加到预集成测试生命周期阶段。
插件将按照它们在 pom.xml 中声明的顺序在特定阶段执行。如果您将plugin-a 绑定(bind)到phase-x,然后声明plugin-b 绑定(bind)到phase-x,则顺序将是plugin-a 然后是plugin-b。
在集成测试的情况下,maven-failsafe-plugin 确保捕获并记录单元测试执行中的任何故障,以便集成后测试阶段可以运行。通常,您会运行“mvn verify”以确保执行集成前测试、集成测试、集成后测试。
关于java - 用于集成测试的故障安全插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36614080/