如何从 Maven 配置文件运行特定的suiteXmlFile

问题描述

我的 maven 配置文件如下所示,它同时具有 smokeregression XML,但我想运行 只运行smoke 或regression 怎么做这个?

<profile>
        <id>smoke</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>3.0.0-M5</version>
                    <configuration>
                        <suiteXmlFiles>
                            <suiteXmlFile>src/test/resources/smoke.xml</suiteXmlFile>
                            <suiteXmlFile>src/test/resources/regression.xml</suiteXmlFile>
                        </suiteXmlFiles>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>

解决方法

无论您在 <suiteXmlFiles> 下的 pom 中有什么,您都可以通过指定它从 cmd 或您的 CI 运行来覆盖它:

仅用于运行烟雾:

 mvn test -Dsurefire.suiteXmlFiles=src/test/resources/smoke.xml

仅用于运行回归:

mvn test -Dsurefire.suiteXmlFiles=src/test/resources/regression.xml

为了同时运行:

mvn test -Dsurefire.suiteXmlFiles=src/test/resources/smoke.xml,src/test/resources/regression.xml

另一个选项,因为您已经在使用配置文件 - 创建三个不同的配置文件:smoke、regression 和 general,并在运行前提供所需的配置文件。