使用Groovy进行Maven插件测试:访问生成的类?

使用Groovy进行Maven插件测试:访问生成的类?,maven,groovy,integration-testing,maven-plugin,Maven,Groovy,Integration Testing,Maven Plugin,我正在开发一个Maven插件,我的一些测试是通过基于Groovy脚本()的Maven invoker插件完成的。 这个Maven插件生成一个Java类,我想用Groovy脚本测试生成的类行为。 我面临这些Groovy脚本的一个问题,即它无法解析类: Running post-build script: <blah>\verify.groovy org.codehaus.groovy.control.MultipleCompilationErrorsException: startup

我正在开发一个Maven插件,我的一些测试是通过基于Groovy脚本()的Maven invoker插件完成的。 这个Maven插件生成一个Java类,我想用Groovy脚本测试生成的类行为。 我面临这些Groovy脚本的一个问题,即它无法解析类:

Running post-build script: <blah>\verify.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script1.groovy: 21: unable to resolve class com.mycompany.MyClass
 @ line 21, column 1.
   import com.mycompany.MyClass
下面是我的Groovy测试的摘录
verify.Groovy

File generatedJavaFile = new File( basedir, "target/my-plugin/com/mycompany/MyClass.java" );
assert generatedJavaFile.exists()
assert generatedJavaFile.isFile()

File generatedClassFile = new File( basedir, "target/classes/com/mycompany/MyClass.class" );
assert generatedClassFile.exists()
assert generatedClassFile.isFile()

import com.mycompany.MyClass

assert MyClass.getSomething() == "the expected result"
我想知道是否需要在maven invoker插件配置中指定一些东西来包含测试过的maven项目,或者这是不可能的,我需要找到另一种方法

谢谢,
Benoît.

执行
verify.groovy
的类路径上没有您的类…因此您不能导入并使用它们…除此之外,您应该在集成测试中使用的项目中编写单元/集成测试,在该项目中您可以完全使用生成的类。
verify.groovy
的执行不是类路径上的类…因此您不能导入并使用它们…除此之外,您应该在集成测试中使用的项目内编写单元/集成测试,您可以完全使用这些生成的类。。。
File generatedJavaFile = new File( basedir, "target/my-plugin/com/mycompany/MyClass.java" );
assert generatedJavaFile.exists()
assert generatedJavaFile.isFile()

File generatedClassFile = new File( basedir, "target/classes/com/mycompany/MyClass.class" );
assert generatedClassFile.exists()
assert generatedClassFile.isFile()

import com.mycompany.MyClass

assert MyClass.getSomething() == "the expected result"