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

时间:2017-02-12 15:13:09

标签: maven groovy integration-testing maven-plugin

我正在开发一个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项目,或者如果它不可能而且我需要找到另一种方式......

谢谢, 伯努瓦。

0 个答案:

没有答案