用于集成测试的故障安全插件

时间:2016-04-14 04:47:25

标签: java maven maven-failsafe-plugin

我正在阅读本教程,介绍如何使用故障安全插件编写集成测试

https://www.javacodegeeks.com/2015/01/separating-integration-tests-from-unit-tests-using-maven-failsafe-junit-category.html

好的。但我需要编写测试设置挂钩。在这些钩子中,我将提供docker容器。我还需要写下容器将要关闭的拆卸钩。

我发现这个代码有创建,容器启动和容器关闭的逻辑。

https://github.com/wouterd/hippo-docker/blob/master/myhippoproject/integrationtests/pom.xml

但我不确定测试将如何运行以及如何以正确的顺序调用XML中定义的这些目标以便运行集成测试。

基本上,我需要首先调用build-images,然后启动容器,然后运行测试并最终停止并清理。

有人可以帮助我连接这些点。 (这些可能很明显)。

1 个答案:

答案 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"确保您通过预集成测试,集成测试,集成后测试来执行。