――Je souhaite ajouter Spock tout en conservant le JUnit existant.
--Je veux exécuter JUnit et Spock avec une seule commande (  ./mvnw test```)
--Je ne dis pas à quel point Spock est génial
C'est une histoire. Dédié à ceux qui testent encore avec JUnit à Maven ...
Ajoutez une dépendance à pom.xml
<dependency>
    <groupId>org.spockframework</groupId>
    <artifactId>spock-core</artifactId>
    <version>1.3-groovy-2.5</version>
    <scope>test</scope>
</dependency>
Rédigez un test
package jp.co.trech
import spock.lang.*
class AppSpec extends Specification {
    def 'Échantillon test'() {
        expect:
        Math.max(1, 2) != 2 //Je veux vérifier si le test est en cours, j'ose donc en faire un test qui échoue
    }
}
Essayez d'exécuter un test
./mvnw test
→ BUILD SUCCESS
→ Aucun fichier compilé n'est généré et Spock n'est pas en cours d'exécution
Voir maven-compiler-plugin uniquement pour la version 3.6.2 ou supérieure (voir Groovy Eclipse Maven plugin). )
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <compilerId>groovy-eclipse-compiler</compilerId>
                    <verbose>true</verbose>
                    <compilerArguments>
                        <indy/><!-- optional; supported by batch 2.4.12-04+ -->
                        <configScript>config.groovy</configScript><!-- optional; supported by batch 2.4.13-02+ -->
                        <!-- consult Lombok docs to confirm agent class name for your version -->
                        <javaAgentClass>lombok.launch.Agent</javaAgentClass>
                    </compilerArguments>
                    <fork>true</fork>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.codehaus.groovy</groupId>
                        <artifactId>groovy-eclipse-compiler</artifactId>
                        <version>3.3.0-01</version>
                    </dependency>
                    <dependency>
                        <groupId>org.codehaus.groovy</groupId>
                        <artifactId>groovy-eclipse-batch</artifactId>
                        <version>2.5.6-01</version>
                    </dependency>
                    <dependency><!-- optional;Ajouter si vous utilisez lombok dans votre projet-->
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
                        <version>1.16.20</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>
Essayez d'exécuter un test
./mvnw test
→ BUILD SUCCESS
→ Un fichier compilé a été généré! → Mais Spock ne court pas
Ajoutez ce qui suit après le maven-compiler-plugin ci-dessus
    <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>
La version de maven-surefire-plugin dépend de la version de java, donc référez-vous à Maven Surefire Plugin.
Essayez d'exécuter un test
./mvnw test
→ BUILD FAILURE
→ Un fichier compilé a été généré! → Spock a également été exécuté, donc le test a échoué!
→ Modifiez le test Spock et si le test réussit, vous avez terminé!
--Spock a été facilement mis en gradle, mais il est difficile d'ajouter Spock à maven
Compiling Groovy maven-surefire-plugin Using JUnit groovy/groovy-eclipse Groovy Eclipse Maven plugin