2011-06-03 53 views
1

我不能在eclipse如何讓Maven的萬無一失,插件工作使用TestNG在Eclipse

使這兩個一起工作,我可以建立保命插件這樣

<suiteXmlFiles> 
     <suiteXmlFile>${basedir}/src/test/resources/testng.xml</suiteXmlFile> 
    </suiteXmlFiles> 
    <testResources> 
     <testResource> 
      <directory>${project.basedir}/src/test/java</directory> 
      <includes> 
       <include>**/*.*</include> 
      </includes> 
     </testResource> 
     <testResource> 
      <directory>${project.basedir}/src/test/resources</directory> 
      <includes> 
       <include>**/*</include> 
      </includes> 
     </testResource> 
    </testResources> 

和運行$mvn test和所有資源被編譯並移動到/target/test-classes,這工作正常。

但是,如果我跑$mvn clean然後使用TestNG的視圖運行一些測試,沒有什麼/target/test-classes編譯,所以我要麼在此之前,運行測試階段,或以某種方式使用maven-compiler-plugin:testCompile目標編譯測試資源..

但是maven-compiler-plugin:2.3.2:testCompile未通過testResources配置像surefire插件那樣設置。它只是將測試源代碼編譯到測試類中

我應該如何使testNG執行,就好像我運行surefire插件一樣?不知何故,我需要從<testResources>

回答

1

testResources & resources產生的效果是maven-resources-plugin

compile & test-compile部分的maven-compiler-plugin

讓所有你所要做的就是點擊一個按鈕,調用所有這些階段&目標的一部分在通過TestNG運行測試之前

compile 
test-compile 
maven-resources-plugin:resources 
maven-resources-plugin:testResources 

此外,這是非常重要的,無論何時您從TestNG視圖中取消測試,eclipse使用您點擊的測試(測試或測試類)創建一個臨時的testng.xml定義。在testng.xml文件使更多的設置,您必須通過神火插件運行,如果你使用的是通過Eclipse的運行方式運行TestNG的配置丟失時......它看起來像這樣

/tmp/testng-eclipse-388280625/testng-customsuite.xml 

-

<suite name="Default suite"> 
    <test verbose="2" name="Default test"> 
    <classes> 
     <class name="com.example.tests.selenium.SubmitUploadFormTest"/> 
    </classes> 
    </test> 
</suite> 

它有一個方便的方法來處理這個問題 - 在eclipse testng首選項中設置模板testng.xml文件。

相關問題