2010-11-24 146 views
3

我正在爲使用Scala(JUnit 4)的Java項目編寫單元測試用例。我正在使用Maven運行測試。忽略Maven/Scala單元測試文件

我已經寫了一個src/test/scala/com.xxx.BaseTest類用於測試,以提供一些常用功能(@BeforeClass等),但沒有實際的@Test個案。

每當我在命令行上使用mvn運行測試時,它都會堅持嘗試在BaseTest類中查找測試,並且因爲沒有任何測試而出現錯誤。

除了使用@Ignore之外,有什麼辦法可以讓Maven/Scala/Surefire不嘗試運行BaseTest類嗎?添加@Ignore並不是什麼大問題,但我的測試運行結果顯示比我實際使用「跳過:1」標籤更多的測試。

UPDATE:我找到了解決方案。我將BaseTest更名爲Base; Maven現在忽略它。有沒有其他方法?

回答

1

您可以重命名基礎測試類不要有*測試結束,例如BaseTestCase.java。這是我會推薦的。

最有可能的行家執行與surefire plugin測試,因此或者你只是可以配置萬無一失插件跳過BaseTest.java。我認爲,默認情況下,surefire假定所有以*Test結尾的類都是測試類。像這樣的pom.xml

<build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.6</version> 
     <configuration> 
      <excludes> 
      <exclude>**/BaseTest.java</exclude> 
      </excludes> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
+0

我嘗試了第二個建議,id沒有工作。也許與它是一個Scala測試文件有關。 – Ralph 2010-11-24 20:48:20