使用Groovy写单元可以很大程度上提高单元测试的效率。但是,我们的工程是Maven管理的,默认情况下,Maven是不会编译Groovy代码的。 mvn test也不会
执行Groovy编写的测试用例。
为了解决这个问题我们需要使用groovy-eclipse-compiler这个Maven插件编译Groovy代码。但是按照官方文档配置pom文件后,发现java代码也使用groovy-eclipse-compiler
这个编译了。这个就不是我们想要的了,因为这个编译器和javac并不是完全一样的。
因此我们需要对官方的配置稍作修改,实现只在testCompile的时候使用groovy-eclipse-compiler编译代码。最终的配置文件如下:
<build><plugins><plugin><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><verbose>true</verbose></configuration><executions><execution><id>default-testCompile</id><configuration><compilerId>groovy-eclipse-compiler</compilerId></configuration></execution></executions><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><plugin><groupId>org.codehaus.mojo</groupId><artifactId>build-helper-maven-plugin</artifactId><version>1.5</version><executions><execution><id>add-test-source</id><phase>generate-test-sources</phase><goals><goal>add-test-source</goal></goals><configuration><sources><source>src/test/groovy</source></sources></configuration></execution></executions></plugin></plugins></build>
