2017-06-19 101 views
0

我在java中有一個測試項目,該項目運行項目中列出的作爲該項目依賴項目的所有測試。僅在測試文件夾中運行測試

@RunWith(ClasspathSuite.class) 
@ClassnameFilters({ "com.example.*_Test" }) 
public class AllRegularTests { 
    // nothing to do 
} 

我的測試通常是在test/文件夾不是在src/

我怎樣才能讓測試套件只認準班test/,而不是在src/

回答

0

也許你可以用testSourceDirectory定義來做,但我不確定。

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <configuration> 
       <testSourceDirectory>${basedir}/src/main/java/</testSourceDirectory> 
       <testClassesDirectory>${project.build.directory}/classes/</testClassesDirectory> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
0

幾件事情似乎是錯在這裏:

  1. 通過默認的Maven尋找測試運行時使用以下命名約定:測試* * *測試你的測試用例的測試類不符合要求的約定。你應該重命名它或者配置Maven Surefire插件來爲測試類使用另一種模式。
  2. 單元測試代碼應放在測試文件夾下,如果將其放在主文件夾下,則不能將其識別爲測試類。 例如。

錯誤 /my_program/src/main/java/NotTest.java

/my_program/src/test/java/MyTest.java

另外,查看您的測試classes目錄(例如src/test/java)對應於pom.xml屬性下屬性中列出的目錄。花了我一段時間才發現。

+0

@adi是否解決了你的問題?或者你仍然面臨任何問題? –

相關問題