我正在开发一个Maven插件,我的一些测试是通过基于Groovy脚本(https://maven.apache.org/plugin-developers/plugin-testing.html)的maven-invoker-plugin完成的。 这个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
以下是我的插件生成的Java类:
package com.mycompany;
public final class MyClass {
public static String getSomething() {
return "something";
}
}
以下是我的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-plugin配置指定一些内容以包含经过测试的Maven项目,或者如果它不可能而且我需要找到另一种方式......
谢谢, 伯努瓦。