2010-10-05 176 views
2

嗨,我米跑到一些错误 我有一个非常小的项目在groovy。 我想使用maven。 我能够编译我的文件,源代码和测试(我的目标文件夹中有我的.class文件)。但是没有执行测试。 这是我的pom文件。gmaven没有测试发现

<?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/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>gmedia</groupId> 
<artifactId>gmedia.api</artifactId> 
<name>Gmedia API project</name> 
<version>1.0-SNAPSHOT</version> 
<packaging>jar</packaging> 
<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 

<dependencies> 
    <dependency> 
    <groupId>org.codehaus.groovy</groupId> 
    <artifactId>groovy-all</artifactId> 
    <version>1.7.1</version> 
    </dependency> 

    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.8.2</version> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>net.sf.json-lib</groupId> 
     <artifactId>json-lib</artifactId> 
     <version>2.2.3</version> 
     <classifier>jdk15</classifier> 
    </dependency> 

    <dependency> 
     <groupId>org.eclipse.persistence</groupId> 
     <artifactId>eclipselink</artifactId> 
     <version>2.0.2</version> 
    </dependency> 

    <dependency> 
     <groupId>org.eclipse.persistence</groupId> 
     <artifactId>javax.persistence</artifactId> 
     <version>2.0.0</version> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.codehaus.groovy.maven</groupId> 
      <artifactId>gmaven-plugin</artifactId> 
      <version>1.0-rc-5</version> 
      <executions> 
       <execution> 
        <goals> 
         <!--<goal>generateStubs</goal>--> 
         <goal>compile</goal> 
         <!--<goal>generateTestStubs</goal>--> 
         <goal>testCompile</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.0.2</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
<repositories> 
    <repository> 
     <url>http://ftp.ing.umu.se/mirror/eclipse/rt/eclipselink/maven.repo</url> 
     <id>eclipselink</id> 
     <layout>default</layout> 
     <name>Repository for library Library[eclipselink]</name> 
    </repository> 
</repositories> 

我的常规文件中的src/Groovy和测试/常规

什么,我dooing错了吗?

顺便说一句,我得到的编译错误,当我加入这个配置:

<configuration> 
    <sources> 
     <fileset> 
      <directory>${pom.basedir}/src/test/groovy</directory> 
      <includes> 
       <include>**/*.groovy</include> 
      </includes> 
     </fileset> 
    </sources> 
</configuration> 

编译我的文件,这增加了Groovy的Maven的插件

<configuration> 
      <sources> 
      <fileset> 
       <directory>${pom.basedir}/src/test/groovy</directory> 
       <includes> 
       <include>**/*.groovy</include> 
       </includes> 
      </fileset> 
      </sources> 
     </configuration> 
+0

编译我文件与此增加了Groovy的行家-插件 <结构> $ {pom.basedir}/SRC时ERRO /测试/常规 **/*。常规 benzen 2010-10-06 11:52:42

+0

不作为评论,编辑问题文本(为你做的) – 2010-10-06 12:24:26

回答

3

好时埃罗有一件事你正在使用过时的GMaven版本。

该插件已经移动到组ID org.codehaus.gmaven而当前版本是1.3

<plugin> 
    <groupId>org.codehaus.gmaven</groupId> 
    <artifactId>gmaven-plugin</artifactId> 
    <version>1.3</version> 
    <executions> 
     <execution> 
      <goals> 
       <goal>generateStubs</goal> 
       <goal>compile</goal> 
       <goal>generateTestStubs</goal> 
       <goal>testCompile</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

此外,你可能需要保持短线目标活跃JUnit来找到你的测试类。

参考见本页面:Buildung Groovy Projects with GMaven

更新:

如果我确定要运行的测试,它运行。但 只有MVN干净的测试,测试的 编译,但不执行

这听起来像是你不遵循测试类的命名约定。

查看当前页的第一部分:Inclusions and Exclusions of Tests

+0

我遵循你的建议。但结果是一样的。如果我定义一个测试运行,它会运行。但只是mvn clean test,测试会被编译,但不会被执行。 – benzen 2010-10-06 12:20:30

+0

@BenZen查看我的更新回答 – 2010-10-06 12:28:34

+0

非常感谢。 我没有注意到它,因为我从grails带来这个项目,使用模式,测试。 S是我的错误。 – benzen 2010-10-06 13:47:01