在Maven中运行TestNG测试失败

时间:2012-01-03 17:08:32

标签: maven testng

我正在尝试在Maven中运行TestNG测试。这是我的配置:

的pom.xml:

     <dependencies>
             <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.3.1</version>
        <scope>test</scope>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.11</version>
            <configuration>
                <suiteXmlFiles>
                    <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
                </suiteXmlFiles>
            </configuration>
        </plugin>
    </plugins>
</build>

这是testNG conf文件:

<suite name="Suite1">
<test name="Test1">
    <groups>
        <run>
            <include name="Setup" />
            <include name="Material" />
        </run>
    </groups>

    <packages>
        <package name="coloright.hibernate.*" />
    </packages>
</test>

当我用eclipse运行时 - 没问题。

当我使用mvn test运行时 - 所有测试运行成功,但构建失败并出现错误:

已配置suiteXmlFiles,但没有TestNG依赖

请帮忙

4 个答案:

答案 0 :(得分:2)

看起来你正在点击this surefire bug,这与状态looks to be still open相反。

如果surefire无法找到<suiteXmlFile>中指定的文件,则会显示错误。您是否可以尝试仅指定testng.xml省略src/test/resources以查看是否有帮助? documentation没有说明如何指定此位置 - 它是相对于基本目录还是相对于测试资源文件夹。

答案 1 :(得分:1)

你可以试试这个。不确定它是否会对你有用,但我有时会这样做,虽然看起来多余:

<suiteXmlFiles>
  <suiteXmlFile>
    ${project.build.testOutputDirectory}/testng.xml
  </suiteXmlFile>
</suiteXmlFiles>

答案 2 :(得分:0)

将surefire-testng依赖项添加到您的pom.xml:

<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-testng</artifactId>
<version>2.16</version>
</dependency>

答案 3 :(得分:0)

请检查构建路径中的输出文件夹应该类似于/ target / test-classes。

同时检查您的pom条目并相应更新:

 <testSourceDirectory>src</testSourceDirectory>
    <outputDirectory>target/test-classes</outputDirectory>
       <resources>
         <resource>
            <directory>src</directory>
        </resource>
    </resources>