1

我正在使用带有 surefire 插件的 Maven 来运行我的测试。我有几个不同的测试,并且为了运行所有我使用相同的 POM。目前一切正常,但现在我有两个不同的属性文件来获取我的测试用例的一些条目,所以我想为这两个不同的属性一个接一个地运行所有这些测试用例。我的意思是我想为它使用两个不同的测试套件,那么我该如何管理 POM 呢?任何帮助将不胜感激..!!!

使用 - JDK 1.6 和 Maven 3.1

4

2 回答 2

1

如果您可以一个接一个地启动两个 Maven 构建,那么请尝试以下操作:

                         <execution>
                            <id>integration-test</id>
                            <phase>integration-test</phase>
                            <goals>
                                <goal>integration-test</goal>
                                <goal>verify</goal>
                            </goals>
                            <configuration>
                                <excludes>
                                       <exclude>**/test/**${dontUse}.properties</exclude>
                                </excludes>
                                <includes>
                                    <include>**/test/**${use}.properties</include>
                                </includes>
                            </configuration>
                        </execution>

并将 dontUse 和 use 作为参数传递给 maven。或者您可以定义两个配置文件——一个包含第一个,一个包含另一个属性文件——然后使用这两个配置文件开始构建。编辑:使用一个类加载属性文件,您可以在其中检查文件是否存在。无论是第一个还是第二个。像这样的东西:

public Properties load() {
    Properties prop = new Properties();
    try {
        InputStream in;
        in = getClass().getResourceAsStream("first.properties");
        if (in == null)
            in = getClass().getResourceAsStream("second.properties");
        prop.load(in);
        in.close();
        return prop;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return prop;
}

于 2013-04-12T12:02:41.953 回答
0

为什么不使用标准:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.14.1</version>
            <configuration>
                <suiteXmlFiles>
                    <suiteXmlFile>suite1.xml</suiteXmlFile>
                    <suiteXmlFile>suite2.xml</suiteXmlFile>
                </suiteXmlFiles>
            </configuration>
        </plugin>
于 2020-04-11T00:10:11.113 回答