我正在阅读本教程,介绍如何使用故障安全插件编写集成测试
好的。但我需要编写测试设置挂钩。在这些钩子中,我将提供docker容器。我还需要写下容器将要关闭的拆卸钩。我发现这个代码有创建,容器启动和容器关闭的逻辑。
https://github.com/wouterd/hippo-docker/blob/master/myhippoproject/integrationtests/pom.xml
但我不确定测试将如何运行以及如何以正确的顺序调用XML中定义的这些目标以便运行集成测试。
基本上,我需要首先调用build-images,然后启动容器,然后运行测试并最终停止并清理。
有人可以帮助我连接这些点。 (这些可能很明显)。
答案 0 :(得分:1)
您需要了解Maven Lifecycle。这定义了"路径" maven将执行构建的各个阶段。如果您通读Lifecycle Reference,您将看到按执行顺序列出的各个阶段。
这些阶段中的每一个都可以通过不同的插件附加。 hippo-docker中使用的特定docker maven plugin定义了不同的"目标" (例如,启动容器)默认情况下附加到预集成测试生命周期阶段。
插件将按照在pom.xml中声明的顺序在特定阶段执行。如果你有plugin-a绑定到phase-x然后声明plugin-b绑定到phase-x,那么order将是plugin-a then plugin-b。
在集成测试的情况下,maven-failsafe-plugin确保捕获并记录单元测试执行中的任何故障,以便可以运行集成后测试阶段。通常你会运行" mvn verify"确保您通过预集成测试,集成测试,集成后测试来执行。