Hallo Fans der Bits und Bytes,
ich stehe wieder einmal vor einem Problem.
Ich möchte ein paar Tests mit JUnit5 durchführen.
Die TestSuite funktioniert und lässt sich von Eclipse auch problemlos ausführen.
Da ich als Buildtool jenkins bevorzuge und mir somit eine pom.xml bauen muss gibt es Probleme.
Die Tests werden in der erzeugten Datei **/target/surefire-report/xyztest.xml nicht angezeigt.
meine pom.xml sieht so aus:
Ein Beispiel aus der Testsuite sieht so aus:
Wenn ich mir die via jenkins erzeugten xml-Dateien ansehe, so wird kein Test in JUnit5 berücksichtigt.
Mir sind die Ideen ausgegangen, um noch irgend ein Lösungsansatz zu finden.
Kann mir jemand weiterhelfen?
Die Testergebnisse muessten nach meiner Auffassung im Verzeichnis **/target/surefire-reports/ liegen.
Liege ich da richtig?
Gruss Hein_nieH
ich stehe wieder einmal vor einem Problem.
Ich möchte ein paar Tests mit JUnit5 durchführen.
Die TestSuite funktioniert und lässt sich von Eclipse auch problemlos ausführen.
Da ich als Buildtool jenkins bevorzuge und mir somit eine pom.xml bauen muss gibt es Probleme.
Die Tests werden in der erzeugten Datei **/target/surefire-report/xyztest.xml nicht angezeigt.
meine pom.xml sieht so aus:
XML:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Wiki_Wandler</groupId>
<artifactId>Wiki_Wandler</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Wiki_Wandler</name>
<description>
Build des Projektes Wiki_Wandler in Jenkins
</description>
<organization>
<name>ich</name>
</organization>
<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>
<!-- 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.MainClass</mainClass>
</manifest>
</archive>
<!-- Name der jar-Datei aendern -->
<finalName>Wiki_Wandler__Jenkins</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>
<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>
<!-- Konfiguration des surefire-plugins anpassen -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>1.2.0</version>
</dependency>
</dependencies>
</plugin>
<!-- checkstyle -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<configLocation>my_google_checks_8_29.xml</configLocation>
<!-- <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>
<!-- spotbugs -->
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>4.7.2.1</version>
<!-- <version>3.1.5</version> -->
<dependencies>
<!-- overwrite dependency on spotbugs if you want to specify the version of spotbugs -->
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs</artifactId>
<!-- <version>4.7.3</version> -->
<version>4.7.3</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
<!-- Einbindung externer Bibliotheken -->
<dependencies>
<!-- JUnit5 (besteht aus Modulen JUnit.Jupiter und JUnit.Vintage -->
<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>
</dependencies>
</project>
Ein Beispiel aus der Testsuite sieht so aus:
Java:
package action;
import action.ActionKeepLeft;
import action.ActionKeepRight;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
public class ActionKeepLeftTest
{
ActionKeepLeft classToTest;
String strInput;
String strInputDelimitter;
int intOccuranceInputDelimmitter;
boolean boolRadKeepDelimitterYes;
@BeforeEach
public void setUp()
{
classToTest = new ActionKeepLeft();
this.intOccuranceInputDelimmitter = 1;
this.strInput = "ab_cd_ef_gh";
this.strInputDelimitter = "_";
this.boolRadKeepDelimitterYes = false;
} //setUP
@Test
public void getPositionOfDelimitterFromLeft_test_1()
{
this.intOccuranceInputDelimmitter = 1;
assertEquals(2, classToTest.getTest_getPositionOfDelimitterFromLeft(strInput, strInputDelimitter, intOccuranceInputDelimmitter));
} //getPositionOfDelimitterFromRight_test_1
@Test
public void getPositionOfDelimitterFromLeft_test_2()
{
this.intOccuranceInputDelimmitter = 2;
assertEquals(5, classToTest.getTest_getPositionOfDelimitterFromLeft(strInput, strInputDelimitter, intOccuranceInputDelimmitter));
} //getPositionOfDelimitterFromRight_test_2
@Test
public void getPositionOfDelimitterFromLeft_test_3()
{
this.intOccuranceInputDelimmitter = 3;
assertEquals(8, classToTest.getTest_getPositionOfDelimitterFromLeft(strInput, strInputDelimitter, intOccuranceInputDelimmitter));
} //getPositionOfDelimitterFromRight_test_3
@Test
public void getPositionOfDelimitterFromLeft_test_4()
{
this.intOccuranceInputDelimmitter = 4;
assertEquals(-1, classToTest.getTest_getPositionOfDelimitterFromLeft(strInput, strInputDelimitter, intOccuranceInputDelimmitter));
} //getPositionOfDelimitterFromRight_test_4
@Test
public void getPositionOfDelimitterFromLeft_test_10()
{
this.strInputDelimitter = "x";
assertEquals(-1, classToTest.getTest_getPositionOfDelimitterFromLeft(strInput, strInputDelimitter, intOccuranceInputDelimmitter));
} //getPositionOfDelimitterFromRight_test_10
@Test
public void getPositionOfDelimitterFromLeft_test_11()
{
this.strInputDelimitter = "";
assertEquals(-1, classToTest.getTest_getPositionOfDelimitterFromLeft(strInput, strInputDelimitter, intOccuranceInputDelimmitter));
} //getPositionOfDelimitterFromRight_test_11
@Test
public void getPositionOfDelimitterFromLeft_test_12()
{
this.strInputDelimitter = null;
assertEquals(-1, classToTest.getTest_getPositionOfDelimitterFromLeft(strInput, strInputDelimitter, intOccuranceInputDelimmitter));
} //getPositionOfDelimitterFromRight_test_12
@Test
public void getCuttedStringFromLine_test_1_false()
{
this.intOccuranceInputDelimmitter = 1;
this.boolRadKeepDelimitterYes = false;
assertEquals("ab", classToTest.getTest_getCuttedStringFromLine(strInput, strInputDelimitter, intOccuranceInputDelimmitter, boolRadKeepDelimitterYes));
} //getCuttedStringFromLine_test_1_false
@Test
public void getCuttedStringFromLine_test_1_true()
{
this.intOccuranceInputDelimmitter = 1;
this.boolRadKeepDelimitterYes = true;
assertEquals("ab_", classToTest.getTest_getCuttedStringFromLine(strInput, strInputDelimitter, intOccuranceInputDelimmitter, boolRadKeepDelimitterYes));
} //getCuttedStringFromLine_test_1_true
} //ActionKeepRightTest
Wenn ich mir die via jenkins erzeugten xml-Dateien ansehe, so wird kein Test in JUnit5 berücksichtigt.
Mir sind die Ideen ausgegangen, um noch irgend ein Lösungsansatz zu finden.
Kann mir jemand weiterhelfen?
Die Testergebnisse muessten nach meiner Auffassung im Verzeichnis **/target/surefire-reports/ liegen.
Liege ich da richtig?
Gruss Hein_nieH
Zuletzt bearbeitet: