Java 如何使用故障保护插件单独启动集成测试?

Java 如何使用故障保护插件单独启动集成测试?,java,maven,maven-surefire-plugin,Java,Maven,Maven Surefire Plugin,我不能运行集成测试,只能运行单元测试 这是我的Mavenconfig(见下面的代码)。它使用两个插件。其中一个是maven故障保护插件,第二个是maven-surefire插件 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</proje

我不能运行集成测试,只能运行单元测试

这是我的
Maven
config(见下面的代码)。它使用两个插件。其中一个是
maven故障保护插件
,第二个是
maven-surefire插件

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <skipTests>false</skipTests>
    <skipITs>${skipTests}</skipITs>
    <skipUTs>${skipTests}</skipUTs>
</properties>
<dependencies>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.8.7</version>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.16</version>
            <configuration>
                <skipTests>${skipUTs}</skipTests>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.16</version>
            <configuration>
                <skipTests>${skipTests}</skipTests>
                <skipITs>${skipITs}</skipITs>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>integration-test</goal>
                        <goal>verify</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
还有单独启动集成测试的命令

mvn clean failsafe:integration-test verify
调用最后一个命令的结果是

[INFO] --- maven-failsafe-plugin:2.16:integration-test (default-cli) @ integration-test-demo ---
[INFO] No tests to run.

我使用这些配置文件:

性质

真的
假的
轮廓

所有测试
所有测试
假的
假的
发展
集成测试
集成测试
假的
真的
maven surefire插件

org.apache.maven.plugins
maven surefire插件
2.15
${skip.unit.tests}
**/*IntegrationTest.java
maven故障保护插件

org.apache.maven.plugins
maven故障保护插件
2.15
集成测试
集成测试
验证
${skip.integration.tests}
**/*IntegrationTest.java
集成测试以…IntegrationTest.java结束,我运行所需的概要文件(所有测试,集成测试)。默认情况下运行单元测试


我很确定这是我从某处抄来的,但现在我记不起链接了。抱歉。

src/test/java
文件夹中是否有适当命名的测试,如*IT.java等?请参阅。@Raghuram我使用
src/integration test/java
,而
java
是一个测试源文件夹。,但更进一步-单元测试和集成测试的单独目录。@Iker和
surefireArgLine
failsafeArgLine
是什么?你能给他们看看吗?@Aaron很抱歉,删除了它们,并测试它是否有效。在asnwer中编辑。当我运行IT测试时,没有要运行的测试。My Maven命令
mvn clean failsafe:integration test
mvn clean failsafe:integration test-P integration tests
[INFO] --- maven-failsafe-plugin:2.16:integration-test (default-cli) @ integration-test-demo ---
[INFO] No tests to run.
<properties>
        <!-- Only unit tests are run by default. -->
        <skip.integration.tests>true</skip.integration.tests>
        <skip.unit.tests>false</skip.unit.tests>
    </properties>
<profiles>
        <profile>
            <id>all-tests</id>
            <properties>
                <build.profile.id>all-tests</build.profile.id>
                <!-- All tests are run. -->
                <skip.integration.tests>false</skip.integration.tests>
                <skip.unit.tests>false</skip.unit.tests>
            </properties>
        </profile>
        <profile>
            <id>dev</id>
        </profile>
        <profile>
            <id>integration-tests</id>
            <properties>
                <!-- Used to locate the profile specific configuration file. -->
                <build.profile.id>integration-test</build.profile.id>
                <!-- Only integration tests are run. -->
                <skip.integration.tests>false</skip.integration.tests>
                <skip.unit.tests>true</skip.unit.tests>
            </properties>
        </profile>
    </profiles>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.15</version>
            <configuration>
                <!-- Skips unit tests if the value of skip.unit.tests property is true -->
                <skipTests>${skip.unit.tests}</skipTests>
                <!-- Excludes integration tests when unit tests are run. -->
                <excludes>
                    <exclude>**/*IntegrationTest.java</exclude>
                </excludes>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.15</version>
            <executions>
                <!-- Ensures that both integration-test and verify goals of the Failsafe Maven plugin are executed. -->
                <execution>
                    <id>integration-tests</id>
                    <goals>
                        <goal>integration-test</goal>
                        <goal>verify</goal>
                    </goals>
                    <configuration>
                        <!-- Skips integration tests if the value of skip.integration.tests property is true -->
                        <skipTests>${skip.integration.tests}</skipTests>
                        <includes>
                            <include>**/*IntegrationTest.java</include>
                        </includes>
                    </configuration>
                </execution>
            </executions>
        </plugin>