在启动集成前和集成后分别运行单元测试和IT测试

时间:2019-08-29 14:04:17

标签: java maven unit-testing spring-boot integration-testing

我希望能够分别运行单元测试和集成测试。我尝试使用故障保护的不同配置,并在使用故障保护或在命令行中进行验证时验证它们是否可以工作(mvn failsafe:test,mvn surefire:verify等),但它不会启动我的pre-集成和集成后阶段,这是我进行集成测试所需的。

这是我的POM:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
    <mainClass>com.nulogix.billing.App</mainClass>
    </configuration>
    <executions>
        <execution>
            <id>pre-integration-test</id>
            <goals>
                <goal>start</goal>
            </goals>
        </execution>
        <execution>
            <id>post-integration-test</id>
            <goals>
                <goal>stop</goal>
            </goals>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>2.18.1</version>
    <executions>
        <execution>
            <goals>
                <goal>integration-test</goal>
                <goal>verify</goal>
            </goals>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>3.0.0-M3</version>
    <configuration>
        <skipTests>false</skipTests>
    </configuration>
</plugin>

1 个答案:

答案 0 :(得分:0)

您不能单独运行一个阶段或一堆阶段。

要么在命令行上调用所有插件,要么从开始到集成后运行整个构建。

另一方面,如果您的主要目标是在构建过程中跳过某些插件,则可以通过skip参数或配置文件来实现。