我有,当我运行它们在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