Java 分别运行测试类别

Java 分别运行测试类别,java,maven,junit,Java,Maven,Junit,我需要在不同的阶段运行测试组(首先运行组A,然后运行组B,就像您刚刚开始运行测试一样) 所以我决定结合使用maven failsafe插件和junit测试类别 我有以下配置: <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefir

我需要在不同的阶段运行测试组(首先运行组A,然后运行组B,就像您刚刚开始运行测试一样)

所以我决定结合使用maven failsafe插件和junit测试类别

我有以下配置:

<plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <includes>
                        <include>**/*Test.java</include>
                    </includes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <configuration>
                    <skip>${skipTests}</skip>
                    <includes>
                        <include>**/*IT.java</include>
                    </includes>
                    <groups>my.categories.IntegrationTest</groups>
                    <excludedGroups>my.categories.ProfiledIntegrationTest, my.categories.MvcTest, my.categories.ExchangeRateTest</excludedGroups>
                </configuration>
                <executions>
                    <execution>
                        <id>integration-test</id>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>integration-test</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <configuration>
                    <skip>${skipTests}</skip>
                    <includes>
                        <include>**/*IT.java</include>
                    </includes>
                    <groups>my.categories.ProfiledIntegrationTest</groups>
                    <excludedGroups>my.categories.IntegrationTest, my.categories.MvcTest, my.categories.ExchangeRateTest</excludedGroups>
                </configuration>
                <executions>
                    <execution>
                        <id>profiled-integration-test</id>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>integration-test</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <configuration>
                    <skip>${skipTests}</skip>
                    <includes>
                        <include>**/*IT.java</include>
                    </includes>
                    <groups>my.categories.MvcTest</groups>
                    <excludedGroups>my.categories.ProfiledIntegrationTest, my.categories.IntegrationTest, my.categories.ExchangeRateTest</excludedGroups>
                </configuration>
                <executions>
                    <execution>
                        <id>mvc-integration-tests</id>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>integration-test</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <configuration>
                    <skip>${skipTests}</skip>
                    <includes>
                        <include>**/*IT.java</include>
                    </includes>
                    <groups>my.categories.ExchangeRateTest</groups>
                    <excludedGroups>my.categories.MvcTest, my.categories.ProfiledIntegrationTest, my.categories.IntegrationTest</excludedGroups>
                </configuration>
                <executions>
                    <execution>
                        <id>exchange-rate-integration-tests</id>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>integration-test</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.7</version>
            </plugin>
        </plugins>

org.apache.maven.plugins
maven surefire插件
**/*Test.java
org.apache.maven.plugins
maven故障保护插件
${skipTests}
**/*IT.java
my.categories.IntegrationTest
my.categories.ProfiledIntegrationTest、my.categories.MvcTest、my.categories.ExchangeTest
集成测试
集成测试
集成测试
org.apache.maven.plugins
maven故障保护插件
${skipTests}
**/*IT.java
my.categories.ProfiledIntegrationTest
my.categories.IntegrationTest、my.categories.MvcTest、my.categories.ExchangeTest
概要集成测试
集成测试
集成测试
org.apache.maven.plugins
maven故障保护插件
${skipTests}
**/*IT.java
my.categories.MvcTest
my.categories.ProfiledIntegrationTest、my.categories.IntegrationTest、my.categories.ExchangeTest
mvc集成测试
集成测试
集成测试
org.apache.maven.plugins
maven故障保护插件
${skipTests}
**/*IT.java
my.categories.ExchangeTest
my.categories.MvcTest、my.categories.ProfiledIntegrationTest、my.categories.IntegrationTest
汇率整合测试
集成测试
集成测试
org.springframework.boot
springbootmaven插件
org.apache.maven.plugins
maven资源插件
2.7
然而,maven运行我的单元测试(surefire),然后只运行maven故障保护插件的最后一个实例(它忽略了前面的3个)


我怎样才能让它也运行它们呢?

解决方案如JF Meier所述

您只需要有一个插件实例,并将它们作为单独的执行来运行

<plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <includes>
                        <include>**/*Test.java</include>
                    </includes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <configuration>
                    <skip>${skipTests}</skip>
                    <includes>
                        <include>**/*IT.java</include>
                    </includes>
                </configuration>
                <executions>
                    <execution>
                        <id>integration-test</id>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>integration-test</goal>
                        </goals>
                        <configuration>
                            <groups>my.categories.IntegrationTest</groups>
                            <excludedGroups>my.categories.ProfiledIntegrationTest, my.categories.MvcTest, my.categories.ExchangeRateTest</excludedGroups>
                        </configuration>
                    </execution>
                    <execution>
                        <id>profiled-integration-test</id>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>integration-test</goal>
                        </goals>
                        <configuration>
                            <groups>my.categories.ProfiledIntegrationTest</groups>
                            <excludedGroups>my.categories.IntegrationTest, my.categories.MvcTest, my.categories.ExchangeRateTest</excludedGroups>
                        </configuration>
                    </execution>
                    <execution>
                        <id>mvc-integration-tests</id>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>integration-test</goal>
                        </goals>
                        <configuration>
                            <groups>my.categories.MvcTest</groups>
                            <excludedGroups>my.categories.ProfiledIntegrationTest, my.categories.IntegrationTest, my.categories.ExchangeRateTest</excludedGroups>
                        </configuration>
                    </execution>
                    <execution>
                        <id>exchange-rate-integration-tests</id>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>integration-test</goal>
                        </goals>
                        <configuration>
                            <groups>my.categories.ExchangeRateTest</groups>
                            <excludedGroups>my.categories.MvcTest, my.categories.ProfiledIntegrationTest, my.categories.IntegrationTest</excludedGroups>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.7</version>
            </plugin>
        </plugins>

org.apache.maven.plugins
maven surefire插件
**/*Test.java
org.apache.maven.plugins
maven故障保护插件
${skipTests}
**/*IT.java
集成测试
集成测试
集成测试
my.categories.IntegrationTest
my.categories.ProfiledIntegrationTest、my.categories.MvcTest、my.categories.ExchangeTest
概要集成测试
集成测试
集成测试
my.categories.ProfiledIntegrationTest
my.categories.IntegrationTest、my.categories.MvcTest、my.categories.ExchangeTest
mvc集成测试
集成测试
集成测试
my.categories.MvcTest
my.categories.ProfiledIntegrationTest、my.categories.IntegrationTest、my.categories.ExchangeTest
汇率整合测试
集成测试
集成测试
my.categories.ExchangeTest
my.categories.MvcTest,my.c