Maven - keine Durchführung von Tests

Hein_nieH

Bekanntes Mitglied
Hallo,

ich suche nun schon seit Stunden nach der Ursache für folgendes Problem.
Ich habe ein Programm (Maven- , welches auch Testfälle enthält.
In Eclipse kann ich die Tests auch ohne Probleme direkt durchführen (run - JUnit).

Sofern ich jedoch das MavenScript starte werden keine Tests durchgeführt.😬
hier habe ich schon alles erdenkliche versucht und bin zu keiner Lösung gekommen.
Kann jemand mir einen Tip geben, um die Ursache zu finden. 🙄

In der Anlage habe ich ein paar Screenshots vom Projekt erstellt.

Gruss Hein_nieH

Hier die pom.xml
XML:
<project xmlns="[URL]http://maven.apache.org/POM/4.0.0[/URL]" xmlns:xsi="[URL]http://www.w3.org/2001/XMLSchema-instance[/URL]" xsi:schemaLocation="[URL]http://maven.apache.org/POM/4.0.0[/URL] [URL]http://maven.apache.org/xsd/maven-4.0.0.xsd[/URL]">
  <modelVersion>4.0.0</modelVersion>
  <groupId>VPN_Rebuild</groupId>
  <artifactId>VPN_Rebuild</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>VPN_Rebuild name</name>
  <description>VPN_Rebuild descr</description>

  <properties>
        <project.build.sourceEncoding>Cp1252</project.build.sourceEncoding>
        <project.reporting.outputEncoding>Cp1252</project.reporting.outputEncoding>
        <java.version>8</java.version>
   </properties>
 
   <!-- Anpassung des Standard-Build-Prozesses -->
    <build>
        <!-- Festlegen ressourcen -->
        <resources>
              <resource>
                <directory>src</directory>
                <includes></includes>
                <excludes>
                      <exclude>**/*.java</exclude>
                </excludes>
              </resource>
        </resources>
  
        <!-- Anpassung des Build prozesses -->
        <plugins>
            <!-- Konfiguration des surefire-Plugins anpassen -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M1</version>
                <configuration>
                    <testFailureIgnore>true</testFailureIgnore>
                    <formats>
                        <format>xml</format>
                        <format>html</format>
                    </formats>
                </configuration>
            </plugin>

            <!-- Konfiguration des maven-compiler-Plugins anpassen -->
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                    <release>${java.version}</release>
                    <compilerArgument>-Xlint:all</compilerArgument>
                    <showWarnings>true</showWarnings>
                    <showDeprecation>true</showDeprecation>
                    <debug>true</debug>
                    <debuglevel>lines,vars,source</debuglevel>
                    <parameters>true</parameters>
                </configuration>
            </plugin>

            <!-- Konfiguration des maven-jar-Plugins anpassen -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.2.0</version>
                <configuration>
                    <!-- Verändert / Erweitert das default-Manifest -->
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <mainClass>main.java.main.MainClass</mainClass>
                        </manifest>
                    </archive>
                    <!-- Name der jar-Datei aendern -->
                    <finalName>VPM_Rebuild__Git_Test</finalName>
                    <!--  Ausgabeort für jar-Datei aendern -->
                      <outputDirectory>C:\Users\${user.name}\Documents\Programmierung_Java\EXPORT</outputDirectory>
                </configuration>
            </plugin>

            <!-- Konfiguration des jacoco-plugins anpassen -->
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.5</version>
                <configuration>
                    <append>false</append>
                </configuration>
                <executions>
                    <execution>
                        <id>pre-unit-test</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>post-unit-test</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!--
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>3.1.1</version>
                <configuration>
                    <configLocation>google_checks.xml</configLocation>
                    <encoding>Cp1252</encoding>
                    <consoleOutput>true</consoleOutput>
                    <failsOnError>true</failsOnError>
                    <linkXRef>false</linkXRef>
                </configuration>
                <executions>
                    <execution>
                        <id>validate</id>
                        <phase>package</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            -->

        </plugins>
    </build>
 
    <!-- Einbindung externer Bibliotheken -->
    <dependencies>
        <!-- junit jupiter -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.7.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.vintage</groupId>
            <artifactId>junit-vintage-engine</artifactId>
            <version>5.7.0</version>
            <scope>test</scope>
        </dependency>
        <!-- junit 4.12.0 nutzen, selbe version wie eclipse -->
        <!--
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        -->
        <!-- jfree jfreechart -->
        <dependency>
            <groupId>org.jfree</groupId>
            <artifactId>jfreechart</artifactId>
            <version>1.0.19</version>
        </dependency>
        <!-- jfree jcommon -->
        <dependency>
            <groupId>org.jfree</groupId>
            <artifactId>jcommon</artifactId>
            <version>1.0.23</version>
        </dependency>
    </dependencies>
</project>
 

Anhänge

  • xxxxx.pdf
    186 KB · Aufrufe: 6
Zuletzt bearbeitet von einem Moderator:

LimDul

Top Contributor
Wie schon mal geschrieben - deine Struktur ist murks.

Die Verzeichnisstruktur sollte so aussehen:
Code:
src/main/java/package
src/main/resources
src/test/java/package
src/test/resources

Das heißt, deine MainClass müsste main.MainClass heißen und nicht main.java.main.MainClass. Das deutet darauf hin, dass das ganze Setup vermurkst ist.

In Eclipse sieht es auf jeden Fall korrekt aus.

Schmeiß auf jeden Fall mal den ganzen resources Block raus.

Außerdem nutzt in Eclipse Junit4-Annotation (BeforeClass), in der Pom ist aber Junit 5 eingebunden. Das sieht auch strange aus.
 

Hein_nieH

Bekanntes Mitglied
Hallo,

ich habe zuvor in Eclipse ein umfangreiches Refactoring durchgeführt, um den Code an die Maven-Vorgaben anzupassen, darum sieht es jetzt in Eclipse korrekt aus.
Hatte auch erst gedacht, dass es an der unkorrekten struktur liegt.

Gruss Hein_nieH
 

mrBrown

Super-Moderator
Mitarbeiter
Zum Problem: Test-Klassen sollten auf "Test" enden, nicht auf "Test-02".


Zum Projekt: die Änderungen, die du an der pom vorgenommen hast, sind im wesentlichen großer Unsinn. Die pom, die ich gepostet hatte, war fertig und funktionierte so, da musste nichts dran geändert werden :)

Encoding solltest du einfach grundsätzlich immer auf UTF-8 lassen, es gibt wirklich keinen Grund, heutzutage im Java-Bereich irgendwas anderes zu nutzen.

resources brauchst du nicht extra zu konfigurieren, den Teil solltest du einfach weg lassen. So wie du es konfiguriert hast, führt das nur zu Fehlern, zB liegen alle Resourcen dann im Package [/icode]main.resources[/icode], das willst du ganz sicher nicht.

outputDirectory für die Jar zu setzen ist auch Unsinn, wenn du da nichts konfigurierst liegt die einfach im Target-Ordner, da wo sie jeder und jedes Toll erwartet – und nicht in irgendwelchen Ordnern, die uU nicht mal existieren.


Dann probier mal alles auf eine einheitliche Junit-Version umzustellen (ich empfehle Junit 5)
Ist es sogar schon, die Junit-4 Dependency ist auskommentiert (hab die Formatierung grad gefixt, jetzt erkennt man das auch).
 

LimDul

Top Contributor
By default, the Surefire Plugin will automatically include all test classes with the following wildcard patterns:

  • "**/Test*.java" - includes all of its subdirectories and all Java filenames that start with "Test".
  • "**/*Test.java" - includes all of its subdirectories and all Java filenames that end with "Test".
  • "**/*Tests.java" - includes all of its subdirectories and all Java filenames that end with "Tests".
  • "**/*TestCase.java" - includes all of its subdirectories and all Java filenames that end with "TestCase".
Da fällt deine Klasse leider nicht rein. Deswegen ist es sinnvoll sich an Standards zu halten :)
 

Hein_nieH

Bekanntes Mitglied
Hallo,

ich habe eine Lösung gefunden :):):), deren Hintergrund für mich etwa seltsam ist.:rolleyes::rolleyes:
Bei mir liegt die Ursache im Dateinamen.
Wenn der Dateiname der Testklasse "xyzTest.java" lautet, wurde der Test ignoriert.
Wenn der Dateiname jedoch mit dem Wort "Test" beginnt, dann hat es funktioniert, also "Testxyz.java" oder "Test_xyz.java".
Die Logik erschliesst sich für mich insofern nicht, da es in keiner Literatur hierzu einen Hinweis gab.

... habe ganz schön lange gebraucht, um auf die Lösung zu kommen :mad:

Gruss Hein_nieH
 

LimDul

Top Contributor
Hallo,

ich habe eine Lösung gefunden :):):), deren Hintergrund für mich etwa seltsam ist.:rolleyes::rolleyes:
Bei mir liegt die Ursache im Dateinamen.
Wenn der Dateiname der Testklasse "xyzTest.java" lautet, wurde der Test ignoriert.
Wenn der Dateiname jedoch mit dem Wort "Test" beginnt, dann hat es funktioniert, also "Testxyz.java" oder "Test_xyz.java".
Die Logik erschliesst sich für mich insofern nicht, da es in keiner Literatur hierzu einen Hinweis gab.

... habe ganz schön lange gebraucht, um auf die Lösung zu kommen :mad:

Gruss Hein_nieH
Schau mal einen Beitrag über deinen. Da steht exakt das inkl. Link zur Dokumentation

Hier steht auch was: https://junit.org/junit5/docs/current/user-guide/#running-tests-build-maven-filter-test-class-names
 

LimDul

Top Contributor
Nachtrag: Was meinst du mit Literatur? Bei sowas nie sich auf Bücher verlassen und immer die Dokumentation der verwendeten Tools (Hier: Maven Surefire, JUnit) lesen.
 

mrBrown

Super-Moderator
Mitarbeiter
Hallo,

ich habe eine Lösung gefunden :):):), deren Hintergrund für mich etwa seltsam ist.:rolleyes::rolleyes:
Bei mir liegt die Ursache im Dateinamen.
Wenn der Dateiname der Testklasse "xyzTest.java" lautet, wurde der Test ignoriert.
Wenn der Dateiname jedoch mit dem Wort "Test" beginnt, dann hat es funktioniert, also "Testxyz.java" oder "Test_xyz.java".
Die Logik erschliesst sich für mich insofern nicht, da es in keiner Literatur hierzu einen Hinweis gab.

... habe ganz schön lange gebraucht, um auf die Lösung zu kommen :mad:

Gruss Hein_nieH
Das funktioniert auch mit xyzTest.java, zumindest mit der pom.xml von oben. Deine Klasse hieß endete allerdings nicht auf Test, deshalb funktionierte das nicht.
 

Hein_nieH

Bekanntes Mitglied
Hallo,

ich habe noch einmal die Sache geprüft.
Jetzt funktioniert auch xyzTest.java.

Wichtig ist nur, dass der Dateinamen den Teilstring "Test" enthält, egal ob am Anfang oder am Ende.
Mein ursprünglicher Fehler war, dass meine Testklassen nicht den String "Test" enthielten.

Gruss Hein_nieH
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Maven Intellij Maven Projekt erstell keine src Tools - Maven, Gradle, Ant & mehr 4
H Jenkins keine Tests gefunden - aber in Maven Tools - Maven, Gradle, Ant & mehr 30
Oneixee5 Maven deploy - per SSH Tools - Maven, Gradle, Ant & mehr 6
H Maven kein Hauptmanifestattribut Tools - Maven, Gradle, Ant & mehr 10
M Programm mit Maven erstellen und starten samt Abhängigkeiten Tools - Maven, Gradle, Ant & mehr 27
D Interne Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 51
J log4j2 mit Hibernate über Maven Tools - Maven, Gradle, Ant & mehr 10
thor_norsk Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf IntelliJ IDE starten Tools - Maven, Gradle, Ant & mehr 8
H Maven JUnit5 Tests werden ignoriert Tools - Maven, Gradle, Ant & mehr 5
thor_norsk Maven Tools - Maven, Gradle, Ant & mehr 32
ExceptionOfExpectation Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf Eclipse starten Tools - Maven, Gradle, Ant & mehr 20
Ich kann Maven nicht als UmgebungsVariable hinzufügen Tools - Maven, Gradle, Ant & mehr 2
F Maven JAR Plugin Probleme Tools - Maven, Gradle, Ant & mehr 4
W Was "braucht" man denn alles? Maven, Ant, Git, ... Tools - Maven, Gradle, Ant & mehr 21
N Fehler beim Imgui mit Maven Tools - Maven, Gradle, Ant & mehr 7
M Spring Boot Maven pom.xml-Eintrag Tools - Maven, Gradle, Ant & mehr 17
Encera JavaFX und Maven funktioniert nicht Tools - Maven, Gradle, Ant & mehr 1
B maven multi module Projekt und unnötige/zusätzliche Leerzeilen Tools - Maven, Gradle, Ant & mehr 4
J Maven Konfusion Tools - Maven, Gradle, Ant & mehr 7
Tippster Maven Sqlite integrieren (Eclipse, Maven) Tools - Maven, Gradle, Ant & mehr 4
T Image kreieren mit Maven bei JavaFX und nicht modularen Jars Tools - Maven, Gradle, Ant & mehr 12
T JSON Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 7
T JavaFX, Jar über Maven kreieren Tools - Maven, Gradle, Ant & mehr 2
Encera Libraries Maven Projekt hinzufügen Tools - Maven, Gradle, Ant & mehr 9
Oneixee5 Maven Phase Tools - Maven, Gradle, Ant & mehr 3
Robertop maven copy-resources nicht in WAR Datei Tools - Maven, Gradle, Ant & mehr 2
T Maven: Probleme beim Einbinden der Dependencies Tools - Maven, Gradle, Ant & mehr 9
M Mit Maven eine jar Datei bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 1
M Mit Maven eine jar Datei Bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 18
H Maven Maven: <mainClass>NAME?</mainClass> Tools - Maven, Gradle, Ant & mehr 13
H Maven maven-source-plugin is missing Tools - Maven, Gradle, Ant & mehr 5
M Missing Artifact on selbst gehostestes Maven Paket Tools - Maven, Gradle, Ant & mehr 8
M Error code 409 maven Tools - Maven, Gradle, Ant & mehr 5
M github + maven Fehler beim repository erstellen Tools - Maven, Gradle, Ant & mehr 1
M durch Maven wird "var" nicht gefunden Tools - Maven, Gradle, Ant & mehr 4
LimDul Maven Einzelne Unit Tests in Maven Builds skippen Tools - Maven, Gradle, Ant & mehr 3
M Maven jpackage-image wird nicht gefunden Tools - Maven, Gradle, Ant & mehr 22
M javafx wird in einem alten programm nicht bei maven gefunden Tools - Maven, Gradle, Ant & mehr 15
L Maven IntelliJ, Maven und JavaFX + SceneBuilder Tools - Maven, Gradle, Ant & mehr 23
von Spotz Maven und Spring: "Add to classpath" ? Tools - Maven, Gradle, Ant & mehr 29
Kirby.exe Projekt mit Maven kompilieren Tools - Maven, Gradle, Ant & mehr 13
P Maven Projekt Abhängigkeiten auf bekante Schwachstellen prüfen Tools - Maven, Gradle, Ant & mehr 4
H Maven dependency Problem ? Tools - Maven, Gradle, Ant & mehr 23
B Maven und Intellij Tools - Maven, Gradle, Ant & mehr 24
P Maven Test werden nicht ausgeführt . Junit . Maven . Surefire . Eclipse Tools - Maven, Gradle, Ant & mehr 12
yakazuqi Maven Eigene API mit Maven einbinden Tools - Maven, Gradle, Ant & mehr 1
M Was ist besser für den Anfang, Maven oder Gradle? Tools - Maven, Gradle, Ant & mehr 6
P Maven Wie die Maven Project version in JSP page verwenden? Tools - Maven, Gradle, Ant & mehr 2
C Maven Multi-Module Projekt Tools - Maven, Gradle, Ant & mehr 2
T Maven Warnings/Fehlermeldungen Tools - Maven, Gradle, Ant & mehr 12
T Maven und Datenbank(treiber) Tools - Maven, Gradle, Ant & mehr 13
T Maven Runnable Jar Tools - Maven, Gradle, Ant & mehr 5
T Grundlagen Maven und Git/Github Tools - Maven, Gradle, Ant & mehr 2
LimDul Maven Maven Surefire Plugin - Warnings upgrade Tools - Maven, Gradle, Ant & mehr 2
G Maven upload Tools - Maven, Gradle, Ant & mehr 0
K Maven - Parent oder Dependency? Tools - Maven, Gradle, Ant & mehr 5
B Maven Maven deploy Tools - Maven, Gradle, Ant & mehr 4
P Mit Maven einen spezifischen Branch nach Tag-Parameter erstellen (in Jenkins-Job) Tools - Maven, Gradle, Ant & mehr 3
P Nur einen Teilbaum in Maven releasen? Tools - Maven, Gradle, Ant & mehr 7
D Cannot invoke "javafx.scene.control.MenuButton.getScene()" nach konvertierung zu maven Tools - Maven, Gradle, Ant & mehr 3
H Jenkins - maven-jar-plugin - kein jar-file Tools - Maven, Gradle, Ant & mehr 38
P JavaFX jar mit Maven Tools - Maven, Gradle, Ant & mehr 9
P Maven & Intellij Modul kann nicht aufgelöst werden Tools - Maven, Gradle, Ant & mehr 12
H Eclipse JUnit erzeugt Fehler im Maven-Test Tools - Maven, Gradle, Ant & mehr 1
H Maven Anfängerproblem - No plugin found for prefix 'archetype' in the current project and in the plugin groups Tools - Maven, Gradle, Ant & mehr 25
sascha-sphw Maven vs Gradle Tools - Maven, Gradle, Ant & mehr 24
D Maven Maven und die Build-Geschwindigkeit Tools - Maven, Gradle, Ant & mehr 11
K Maven IntelliJ + Maven + JavaFX Tools - Maven, Gradle, Ant & mehr 2
J Maven Mit Maven eine ZIP Datei erstellen Tools - Maven, Gradle, Ant & mehr 0
K Maven install schlägt fehl Tools - Maven, Gradle, Ant & mehr 10
I Problem: Maven import extern Lib Tools - Maven, Gradle, Ant & mehr 3
Tom299 Maven Maven funktioniert nach Installation nicht Tools - Maven, Gradle, Ant & mehr 1
I Maven Interface hinzugefügt - Error Tools - Maven, Gradle, Ant & mehr 1
M Verständnisfrage Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven installieren - "Befehl wurde nicht gefunden" Tools - Maven, Gradle, Ant & mehr 1
E Maven: Wie Abhängigkeiten analysieren? Tools - Maven, Gradle, Ant & mehr 0
E Maven Maven distributionManagement Vererbung in child POM Tools - Maven, Gradle, Ant & mehr 8
P Maven Parent- Child POMs Tools - Maven, Gradle, Ant & mehr 13
E Release Kandidaten mit Maven bauen Tools - Maven, Gradle, Ant & mehr 4
C Orderstruktur bei Libarys - Wie mit Ant oder Maven lösen? Tools - Maven, Gradle, Ant & mehr 0
G Maven, finde Dependency nicht... Tools - Maven, Gradle, Ant & mehr 2
G Maven Continious Integration mit Jenkins, Maven und Nexus - wie richtig? Tools - Maven, Gradle, Ant & mehr 1
P Maven Parent und Child Poms - dependencies Tools - Maven, Gradle, Ant & mehr 1
reibi Maven Maven + Eclipse Tools - Maven, Gradle, Ant & mehr 0
P Maven add resource Tools - Maven, Gradle, Ant & mehr 0
D [Maven Pluginentwicklung] - Plugin das nur auf Parent pom läuft Tools - Maven, Gradle, Ant & mehr 0
S Maven Maven und Auflösen von JSF EL Tools - Maven, Gradle, Ant & mehr 5
H Maven HSQLDB in den Maven lifecycle einbinden Tools - Maven, Gradle, Ant & mehr 5
S Maven Unterschiedliche Deployments mit Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven buildnumber-maven-plugin / Formatproblem mit timestamp Tools - Maven, Gradle, Ant & mehr 17
P Erzeugen von WebServices mit Maven und Eclipse (external Tool) Tools - Maven, Gradle, Ant & mehr 2
aze Maven downgraden von 3.x auf 2.09 unter Linux Tools - Maven, Gradle, Ant & mehr 4
Rudolf JSF und Maven mit Eclipse Tools - Maven, Gradle, Ant & mehr 5
M Maven-Dependency kann nicht gefunden werden Tools - Maven, Gradle, Ant & mehr 2
M Maven imports aus Modulen Tools - Maven, Gradle, Ant & mehr 4
P multimodul maven in SVN Tools - Maven, Gradle, Ant & mehr 3
D [Maven] neuerdings "No plugin found for prefix ..." errors Tools - Maven, Gradle, Ant & mehr 7
C Automatisches Deployen in ein externes Maven Repository. Tools - Maven, Gradle, Ant & mehr 5
D JUnit Test in Maven fail und in Eclipse erolgreich Tools - Maven, Gradle, Ant & mehr 4
C Kleines Problem mit Maven und Resourcen. Tools - Maven, Gradle, Ant & mehr 3

Ähnliche Java Themen

Neue Themen


Oben