Maven surefire插件无法选择正确的testng suite.xml文件

时间:2017-01-13 16:57:31

标签: java maven testng maven-surefire-plugin

我的pom.xml中有以下设置: -

    <groupId>co.uk.me-test.project</groupId>
<artifactId>my-test-project
<version>1.0-SNAPSHOT</version>

<properties>
    <sl4j.version>1.7.7</sl4j.version>
    <suiteFile>src/test/resources/testproject/testng_suiteone.xml</suiteFile>
    <suiteFile>src/test/resources/testproject/testng_suitetwo.xml</suiteFile>
    <suiteFile>src/test/resources/testproject/testng_suitethree.xml</suiteFile>
    <suiteFile>src/test/resources/testproject/testng_suitefour.xml</suiteFile>
    <suiteFile>src/test/resources/testproject/testng_suitefive.xml</suiteFile>
    <suiteFile>src/test/resources/testproject/testng_suitesix.xml</suiteFile>
</properties>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.6.0</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.19.1</version>
            <configuration>
                <!--<testFailureIgnore>true</testFailureIgnore>-->
                <suiteXmlFiles>
                    <suiteXmlFile>${suiteFile}</suiteXmlFile>
                </suiteXmlFiles>
                <properties>
                    <property>
                        <name>parallel</name>
                        <value>methods</value>
                    </property>
                    <property>
                        <name>threadCount</name>
                        <value>1</value>
                    </property>
                    <property>
                        <name>dataproviderthreadcount</name>
                        <value>1</value>
                    </property>
                </properties>
            </configuration>
        </plugin>
    </plugins>
</build>

在运行时,我使用以下目标调用测试: -

mvn clean install -DsuiteXmlFile = testng_suitethree.xml

我有一个相同的(看似)项目,它根据作为目标传入的套件名称选择正确的suite.xml文件。那么,为什么这个项目总是选择suitesix.xml而不管我是否传入另一个?如果我注释掉除了我想要的那个之外的所有套件文件那么它运行它。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

<properties>
    <suiteFile>{suiteFile}</suiteFile>
</properties>

答案 1 :(得分:0)

MVN干净测试-D surefire.suiteXmlFiles = testng.xml> out.log

这将起作用。