Maven surefire测试-包含和排除

时间:2020-02-18 09:54:27

标签: maven testing

我有一个类 A.java 和两个测试类, ATest.java AITests.java 。 ITest用于集成。测试必须按照以下方式执行:

  1. 当未选择Maven配置文件时,仅必须测试Atest。

  2. 激活项目配置文件后,必须同时测试两个测试(ATest和AITest)。

问题是,当我使用命令时

mvn -P itests test

然后仅测试ATest,不测试AITest。但是我不知道我在这里想念的是什么。有提示吗?

我的 pom.xml 是:

...
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>3.0.0-M4</version>
            <configuration>
                <excludes>
                    <exclude>**/*ITest.java</exclude>
                </excludes>
            </configuration>
        </plugin>
    </plugins>
</build>

<profiles>
    <profile>
        <id>itests</id>
        <activation>
            <property>
                <name>itests</name>
                <value>true</value>
            </property>
        </activation>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>3.0.0-M4</version>
                    <configuration>
                        <includes>
                            <include>**/*Test.java</include>
                        </includes>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>
...

1 个答案:

答案 0 :(得分:1)

对于集成测试,请使用Maven故障安全插件:

https://maven.apache.org/surefire/maven-failsafe-plugin/

如果愿意,可以在命令行上跳过它。

相关问题