我有,當我運行它們在Eclipse中JUnit測試之間的差異,當他們被行家運行萬無一失pluging做從終端爲什麼mvn clean install和eclipse在運行的junit測試中有所不同?
的mvn clean install
一個項目,當我用鼠標右鍵單擊在Eclipse src/test/java
,Junit的告訴我有137個測試運行。做mvn clean install
只給了我119.在這一個,似乎在測試名稱的情況下可能是一個可能的解釋一些測試不以小寫字母開頭,這使得他們無視它們,但有沒有其他可能的解釋?
在第二個項目中,我有一個更令人討厭的問題:整個測試包沒有運行mvn clean install
。我有src/test/java
下的2個包:com.project
和com.project.services
。 com.project
下的測試課程通過surefire正確運行,而不是com.project.services
下的測試課程。
我能看到的唯一特異性com.project.services
下類有繼承的幾個層次:
public class ActualTestsCasesA extends GenericTestSituationA {}
public class GenericTestSituationA extends ServicesAbstractTests {}
public abstract ServicesAbstractTests extends ProjectAbstractTests {}
ActualTestsCasesA
,GenericTestSituationA
和ServicesAbstractTests
都在com.project.services
測試包。 ProjectAbstractTests保持在另一個Maven項目中。
這裏是我的pom.wml的依賴,以萬無一失的插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<forkMode>always</forkMode>
<encoding>${project.build.sourceEncoding}</encoding>
<sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
</configuration>
</plugin>
'mvn help:effective-pom'在每個環境中運行時會返回不同的結果嗎? –
在pom.xml中查看eclipse有效的pom選項卡,surefire-plugin部分在兩側都是相同的。 –
檢查單元測試的名稱。你是否遵循像'* Test.java *'這樣的單元測試的命名約定? – khmarbaise