2017-07-11 2 views
0

J'essaie de compiler et d'exécuter des tests unitaires dans Groovy à partir de la ligne de commande. La structure du package dans le projet ne suit pas la convention de dénomination - c'est quelque chose que je ne peux pas changer à ce stade. Les classes sont organisées comme:Maven incapable de résoudre org.junit.test

src/abc/def/SomeClass.groovy 

src/abc/tests/def/TestSomeClass.groovy 

Quand je lance mvn test, le message est:

incapable de résoudre la classe org.junit.Test

et

incapable de resovle class org.junit.Assert

dans la classe src/abc/tests/def/TestSomeClass.groovy.

Mon POM est:

<?xml version="1.0" encoding="UTF-8"?> 
<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>org.codehaus.mojo</groupId> 
    <artifactId>my-project</artifactId> 
    <version>1.0</version> 
    <build> 
     <plugins> 
     <plugin> 
      <groupId>org.codehaus.gmavenplus</groupId> 
      <artifactId>gmavenplus-plugin</artifactId> 
      <version>1.5</version> 
      <configuration> 
       <sources> 
        <source> 
        <directory>src</directory> 
        <includes> 
         <include>**/*.groovy</include> 
        </includes> 
        </source> 
       </sources> 
      </configuration> 
      <executions> 
       <execution> 
        <goals> 
        <goal>compile</goal> 
        <goal>addSources</goal> 
        <goal>addTestSources</goal> 
        <goal>testCompile</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.18.1</version> 
      <configuration> 
       <includes> 
        <include>**/Test*.groovy</include> 
       </includes> 
      </configuration> 
     </plugin> 
     </plugins> 
    </build> 
    <dependencies> 
     <dependency> 
     <groupId>org.codehaus.groovy</groupId> 
     <artifactId>groovy-all</artifactId> 
     <version>2.4.7</version> 
     </dependency> 
     <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.11</version> 
     <scope>test</scope> 
     </dependency> 
    </dependencies> 
</project> 

Répondre

0

La mise en page du répertoire standard Maven est le suivant:

Pour la production:
<project>/src/main/groovy/abc/def

Pour les tests:
<project>/src/test/groovy/abc/def

Si vous organisez vos sources accordi ng à ce régime, vous ne devriez pas avoir de problèmes.

More informations

+0

Je les paquets/remaniée avec des répertoires, de sorte qu'ils suivent la convention 'src/test/groovy/abc/def /'. Et je reçois toujours le même message - incapable de résoudre org.junit.Test et org.junit.Assert. Si je désactive '' essai la compilation est réussie (gmavenplus déclenche le message pour testCompile - fichiers compilés xy), mais pas de tests sont exécutés. –