我正在尝试在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依赖
请帮忙
答案 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>