2012-01-03 228 views
2

我正在嘗試在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的依賴

請幫

+0

如果在調試模式下運行,萬無一失插件應該在哪裏它尋找的testng.xml文件報告的位置(在控制檯) 。它說什麼? – djangofan 2013-10-30 17:17:04

回答

2

看起來,你是打到this surefire bug,這與狀態looks to be still open相反。

如果surefire無法找到<suiteXmlFile>中指定的文件,則會出現該錯誤。你可以嘗試指定testng.xml省略src/test/resources看看是否有幫助? documentation未提及如何指定此位置 - 它應該相對於基本目錄還是相對於測試資源文件夾。

+0

省略路徑不起作用。謝謝回覆。 – rperez 2012-01-04 15:31:51

+0

@rperez完整路徑如何:'$ {basedir}/src/test/resources/testng.xml' - 假設這確實是錯誤的原因? – Raghuram 2012-01-05 04:01:20

+0

當文件被找到並且測試運行時,它不是路徑問題。在上述例外情況下,Maven構建失敗(即使所有測試都通過了) – rperez 2012-01-11 13:15:40

1

你可以試試這個。不知道這是否會爲你工作,但我這樣做有時,雖然它看起來像它的冗餘:

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

添加萬無一失,TestNG的依賴於你的pom.xml:

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

請檢查您的在構建路徑中的輸出文件夾應該像/ target/test-classes。

還要檢查你的POM進入這個並相應更新:

<testSourceDirectory>src</testSourceDirectory> 
    <outputDirectory>target/test-classes</outputDirectory> 
     <resources> 
     <resource> 
      <directory>src</directory> 
     </resource> 
    </resources> 
相關問題