在Maven中运行TestNG测试失败
问题描述:
我正在尝试在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试运行 - 所有测试成功运行,但构建失败,出现错误:
suiteXmlFiles配置,但没有TestNG的依赖
请帮
答
看起来,你是打到this surefire bug,这与状态looks to be still open相反。
如果surefire无法找到<suiteXmlFile>
中指定的文件,则会出现该错误。你可以尝试指定testng.xml
省略src/test/resources
看看是否有帮助? documentation未提及如何指定此位置 - 它应该相对于基本目录还是相对于测试资源文件夹。
答
你可以试试这个。不知道这是否会为你工作,但我这样做有时,虽然它看起来像它的冗余:
<suiteXmlFiles>
<suiteXmlFile>
${project.build.testOutputDirectory}/testng.xml
</suiteXmlFile>
</suiteXmlFiles>
答
添加万无一失,TestNG的依赖于你的pom.xml:
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-testng</artifactId>
<version>2.16</version>
</dependency>
答
请检查您的在构建路径中的输出文件夹应该像/ target/test-classes。
还要检查你的POM进入这个并相应更新:
<testSourceDirectory>src</testSourceDirectory>
<outputDirectory>target/test-classes</outputDirectory>
<resources>
<resource>
<directory>src</directory>
</resource>
</resources>
如果在调试模式下运行,万无一失插件应该在哪里它寻找的testng.xml文件报告的位置(在控制台) 。它说什么? – djangofan 2013-10-30 17:17:04