使用Groovy写单元可以很大程度上提高单元测试的效率。但是,我们的工程是Maven管理的,默认情况下,Maven是不会编译Groovy代码的。 mvn test也不会
    执行Groovy编写的测试用例。

    为了解决这个问题我们需要使用groovy-eclipse-compiler这个Maven插件编译Groovy代码。但是按照官方文档配置pom文件后,发现java代码也使用groovy-eclipse-compiler
    这个编译了。这个就不是我们想要的了,因为这个编译器和javac并不是完全一样的。

    因此我们需要对官方的配置稍作修改,实现只在testCompile的时候使用groovy-eclipse-compiler编译代码。最终的配置文件如下:

    1. <build>
    2. <plugins>
    3. <plugin>
    4. <artifactId>maven-compiler-plugin</artifactId>
    5. <version>3.1</version>
    6. <configuration>
    7. <verbose>true</verbose>
    8. </configuration>
    9. <executions>
    10. <execution>
    11. <id>default-testCompile</id>
    12. <configuration>
    13. <compilerId>groovy-eclipse-compiler</compilerId>
    14. </configuration>
    15. </execution>
    16. </executions>
    17. <dependencies>
    18. <dependency>
    19. <groupId>org.codehaus.groovy</groupId>
    20. <artifactId>groovy-eclipse-compiler</artifactId>
    21. <version>2.8.0-01</version>
    22. </dependency>
    23. <dependency>
    24. <groupId>org.codehaus.groovy</groupId>
    25. <artifactId>groovy-eclipse-batch</artifactId>
    26. <version>2.1.8-01</version>
    27. </dependency>
    28. </dependencies>
    29. </plugin>
    30. <plugin>
    31. <groupId>org.codehaus.mojo</groupId>
    32. <artifactId>build-helper-maven-plugin</artifactId>
    33. <version>1.5</version>
    34. <executions>
    35. <execution>
    36. <id>add-test-source</id>
    37. <phase>generate-test-sources</phase>
    38. <goals>
    39. <goal>add-test-source</goal>
    40. </goals>
    41. <configuration>
    42. <sources>
    43. <source>src/test/groovy</source>
    44. </sources>
    45. </configuration>
    46. </execution>
    47. </executions>
    48. </plugin>
    49. </plugins>
    50. </build>