Gradle任务未初始化类文件

Gradle任务未初始化类文件,gradle,groovy,spock,Gradle,Groovy,Spock,下面是我需要通过任务调用的类文件。类文件使用spock框架 Class RunTool extends Specification{ blah blah... Properties collectData(){ setup: blah blah... expect: blah blah... cle

下面是我需要通过任务调用的类文件。类文件使用spock框架

        Class RunTool extends Specification{
        blah blah...

        Properties collectData(){

               setup:
               blah blah...

              expect:
              blah blah...

              cleanup:
              blah blah...

              where:
              blah blah...
        }

public static void main(String[] args) {
        RunTool rt = new RunTool()
        rt.collectData()
    }

 }
运行此类文件的gradle任务如下所示:

apply plugin: 'groovy'
apply plugin: 'application'
mainClassName = 'com.package.RunTool'

task runBaselineFileTool(type:JavaExec, dependsOn:deploy) {
    classpath = sourceSets.main.runtimeClasspath
    main = 'com.package.RunTool'
}
但我得到了以下错误:

Exception in thread "main" groovy.lang.MissingMethodException: No signature of method: com.Package.RunTool.collectData() is applicable for argument types: () values: []
Possible solutions: collect(), collect(groovy.lang.Closure), collect(java.util.Collection, groovy.lang.Closure)
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:56)
    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:51)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:110)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:114)
    at com.Package.RunTool.main(RunTool.groovy:72)

如果有人能帮我做这个?我的目的是使用gradle任务运行类文件。

为什么测试应该有类似
属性的返回值?其返回值应为空或仅使用
def
。为什么您要手动运行它,而不是让JUnit/Spock运行程序来运行它?也许你应该坚持标准,而不是重新发明单元测试轮。看起来这可能与你的where块参数有关。您是否尝试过将它们作为参数列在方法中?