Ich habe Unterschiede zwischen JUnit-Tests, wenn ich sie in Eclipse laufen und wenn sie von Maven ausgeführt werden todsicherer pluging ein mvn clean install
von einem Terminal zu tunWarum sollte mvn clean installieren und eclipse sich in Junit-Tests unterscheiden?
Bei einem Projekt, wenn ich auf erzählt rechts src/test/java
in Eclipse, JUnit mich da sind 137 Tests laufen. Doing mvn clean install
gibt mir nur 119. Auf dieser einen scheint es, dass Fall in Testname eine mögliche Erklärung sein könnte, einige der Tests nicht mit Kleinbuchstaben beginnen und das macht todsichere sie zu ignorieren, aber gibt es noch eine andere mögliche Erklärung?
Bei einem zweiten Projekt habe ich ein lästigeres Problem: Das gesamte Testpaket wird nicht von mvn clean install
ausgeführt. Ich habe 2 Pakete unter src/test/java
: com.project
und com.project.services
. Testklassen unter com.project
werden von todsicheren Versionen korrekt ausgeführt, nicht unter com.project.services
.
Die einzige Spezifität ich sehen kann, ist Klassen unter com.project.services
mehrere Vererbungsebene haben:
public class ActualTestsCasesA extends GenericTestSituationA {}
public class GenericTestSituationA extends ServicesAbstractTests {}
public abstract ServicesAbstractTests extends ProjectAbstractTests {}
ActualTestsCasesA
, GenericTestSituationA
und ServicesAbstractTests
alle unter com.project.services
Testpaket sind. ProjectAbstractTests bleibt in einem anderen Maven-Projekt. Hier
ist die Abhängigkeit zu todsicherer Plugin in meinem 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>
hilft 'mvn help: effective-pom' verschiedene Ergebnisse zurück, wenn sie in jeder Umgebung ausgeführt werden? –
Betrachtet man die Eclipse Effective Pom Registerkarte auf der pom.xml, ist der Surefire-Plugin Teil auf beiden Seiten gleich. –
Überprüfen Sie die Namen Ihrer Komponententests. Folgst du der Namenskonvention von Unit-Tests wie '* Test.java *'? – khmarbaise