L'exécution de spock tests unitaires avec Maven

Sur un projet précédent, j'ai utilisé le Spock framework de tests unitaires, test mon code Java. J'ai trouvé cela vraiment productif, donc je suis en train d'ajouter Spock tests pour mon projet actuel, qui utilise Maven comme outil de construction (Le précédent projet Gradle). Alors que je peux obtenir Maven pour compiler mon Spock tests (à l'aide de groovy-eclipse-compiler), je n'arrive pas à obtenir de Maven pour exécuter les tests.

J'ai fait un exemple simple pour montrer mon problème avec les 2 fichiers:

  • pom.xml
  • src/test/java/ASpec.groovy

Contenu de pom.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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>my.group</groupId>
    <artifactId>my-artifact</artifactId>
    <version>0.1-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
        </dependency>
            <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <version>2.0.8</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.spockframework</groupId>
            <artifactId>spock-core</artifactId>
            <version>0.7-groovy-2.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <compilerId>groovy-eclipse-compiler</compilerId>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.codehaus.groovy</groupId>
                        <artifactId>groovy-eclipse-compiler</artifactId>
                        <version>2.8.0-01</version>
                    </dependency>
                    <dependency>
                        <groupId>org.codehaus.groovy</groupId>
                        <artifactId>groovy-eclipse-batch</artifactId>
                        <version>2.1.8-01</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>
</project>

Contenu de ASpec.groovy:

import spock.lang.Specification

class ASpec extends Specification {

    def "Test A"(){
        //Always fail
        expect: false
    }
}

Quand j'execute mvn clean test (ou mvn clean install) je m'attends à ce que mon seul appareil de test à exécuter et ne parviennent pas. Alors que la compilation Maven ne pas l'exécuter. Ce que quelqu'un sais comment faire pour exécuter un Spock de test de l'unité de Maven (ou si c'est possible?)

(Je n'ai pas mis mon test dans un paquet pour garder l'exemple simple. Aussi, j'ai mis mon code groovy dans src/test/java pour éviter la configuration de l'exemple, pour ramasser les fichiers source à partir d'un autre répertoire, de nouveau de rester sur un exemple aussi simple que possible.)

InformationsquelleAutor Neil Stevens | 2014-08-07