[JAVA] Führen Sie JUnit und Spock in einem Maven-Projekt aus

Hintergrund

--maven Projekt

Übersicht, was Sie tun möchten

――Ich möchte Spock hinzufügen und dabei die vorhandene JUnit beibehalten.

Es ist eine Geschichte. Gewidmet denen, die noch mit JUnit in Maven testen ...

Umgebung

Verfahren

fließen

  1. Fügen Sie vorerst einen Spock hinzu und schreiben Sie einen Test
  2. Erstellen Sie groovige Dateien, die mit maven kompiliert werden sollen
  3. Machen Sie ** Spec. * Legen Sie ein Testlaufziel mit maven ab

Fügen Sie vorerst einen Spock hinzu und schreiben Sie einen Test

  1. Fügen Sie pom.xml eine Abhängigkeit hinzu

    <dependency>
        <groupId>org.spockframework</groupId>
        <artifactId>spock-core</artifactId>
        <version>1.3-groovy-2.5</version>
        <scope>test</scope>
    </dependency>
    
  2. Schreiben Sie einen Test

    package jp.co.trech
    
    import spock.lang.*
    
    class AppSpec extends Specification {
        def 'Probentest'() {
            expect:
            Math.max(1, 2) != 2 //Ich möchte überprüfen, ob der Test ausgeführt wird, daher wage ich es, ihn zu einem fehlgeschlagenen Test zu machen
        }
    }
    
  3. Versuchen Sie, einen Test durchzuführen

    ./mvnw test
    → BUILD SUCCESS
    

→ Es wird keine kompilierte Datei generiert und Spock wird nicht ausgeführt

Kompiliere groovige Dateien mit maven

  1. In gradle wurde eine groovige Datei kompiliert, indem nur spock in die Abhängigkeit eingefügt wurde, maven jedoch nicht kompiliert wurde. Fügen Sie daher Folgendes hinzu
  1. Versuchen Sie, einen Test durchzuführen

    ./mvnw test
    → BUILD SUCCESS
    

→ Eine kompilierte Datei wurde generiert! → Aber Spock läuft nicht

Ziel ** Spez. * Datei für die Testausführung mit Maven

  1. Fügen Sie nach dem obigen Maven-Compiler-Plugin Folgendes hinzu

        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>3.0.0-M1</version>
            <configuration>
                <failIfNoTests>true</failIfNoTests>
                <includes>
                    <include>**/*Test.*</include>
                    <include>**/*Spec.*</include>
                </includes>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.apache.maven.surefire</groupId>
                    <artifactId>surefire-junit47</artifactId>
                    <version>3.0.0-M1</version>
                </dependency>
            </dependencies>
        </plugin>
    

Die Version des Maven-Surefire-Plugins hängt von der Java-Version ab. Weitere Informationen finden Sie unter Maven Surefire-Plugin.

  1. Versuchen Sie, einen Test durchzuführen

    ./mvnw test
    → BUILD FAILURE
    

→ Eine kompilierte Datei wurde generiert! → Spock wurde ebenfalls ausgeführt, daher ist der Test fehlgeschlagen!

→ Ändern Sie den Spock-Test und wenn der Test erfolgreich ist, sind Sie fertig!

Fazit

--Spock war leicht in Gradle zu setzen, aber es ist schwierig, Spock zu Maven hinzuzufügen


Referenz-URL

Compiling Groovy maven-surefire-plugin Using JUnit groovy/groovy-eclipse Groovy Eclipse Maven plugin

Recommended Posts

Führen Sie JUnit und Spock in einem Maven-Projekt aus
Führen Sie JUnit und Spock in einem Maven-Projekt aus
Führen Sie modulare Projekttests in Gradle aus (JUnit5 + TestFX).
Führen Sie ein Spring Boot-Projekt mit VS-Code aus
Bis Sie mit Maven ein von Scala geschriebenes Projekt erstellen und es mit dem Befehl scala ausführen.
Beliebte Trends bei Gradle und Maven
So führen Sie JUnit in Eclipse aus
JUnit-Testbericht in Maven ausgeben
Wie erstelle ich ein Maven-Projekt?
Erstellen Sie ein Maven-Projekt mit Befehlen
Erstellen Sie mit Intellij ein Spring Boot-Projekt und beenden Sie es sofort nach dem Start
Erstellen eines Projekts (und eines GitHub-Repositorys) mit Java und Gradle mit IntelliJ IDEA
CI für Maven-Projekt in Azure-Pipelines
Fügen Sie .gitignore hinzu, wenn Sie ein Projekt in Xcode erstellen
So führen Sie eine djUnit-Aufgabe in Ant aus
Ich habe einen Docker-Container erstellt, um Maven auszuführen
[Eclipse / Tomcat] Servlet + JSP in Mavens Webapp-Projekt
Java-Tipps - Erstellen Sie mit Gradle ein Spring Boot-Projekt
Fügen Sie mit Gradle ein Projekt in einen beliebigen Ordner ein
Führen Sie JVM-Math-Language als Gradle-Projekt aus
Maven-Projekt erstellen
Bis Sie ein Spring Boot-Projekt in Intellij erstellen und an Github senden
Ich möchte ESLint im Maven-Projekt. Ich möchte Node.js ausführen, ohne es in meine Umgebung zu stellen.
Refactoring in JUnit
[CentOS, Eclipse] Lädt Bibliotheksdateien in C-Projekt
Schreiben Sie eine Klasse in Kotlin und nennen Sie sie in Java
Zeigen Sie ein Ladebild in JavaFX an und zeigen Sie dann ein anderes Bild an
Ich habe im Frühjahr einen Restful-Server und -Client erstellt.
So konvertieren Sie A in a und a in A mit logischem Produkt und Summe in Java
Java11: Führen Sie Java-Code unverändert in einer einzelnen Datei aus