无法在Gradle中解析类org.gradle.util.TestUtil

时间:2014-03-20 14:47:50

标签: testing import gradle task spock

此错误表示类TestUtil不在类路径上,编译器无法找到它。我之前遇到过这样的错误数百次,并且缺少Jar或错误的书面类名,但现在我只是不知道出了什么问题。 在我的 buildSrc 目录中,我有自定义任务,我为它做了测试:

package com.example.core.tasks;
import spock.lang.Specification
import org.gradle.api.Project
import org.gradle.util.TestUtil

public class GetInfoTaskTest extends Specification {

    def "check files"(){
       given:
        def project = TestUtil.createRootProject()

       when:
        GetInfoTask getInfo = project.tasks.create("getInfo", GetInfoTask)

       then:
        getInfo instanceof GetInfoTask.class
    }
}

buildSrc 目录的构建脚本中:

dependencies {
compile localGroovy()

testCompile 'org.spockframework:spock-core:0.7-groovy-1.8'
testCompile gradleApi()

}

错误:

GetInfoTaskTest.groovy: 4: unable to resolve class org.gradle.util.TestUtil
 @ line 3, column 1.
   import org.gradle.util.TestUtil     
   ^                             

我检查过这个 TestUtil 不是内部的。我仍然不知道为什么gradle找不到它。

1 个答案:

答案 0 :(得分:1)

TestUtil是一个内部类。您无法在自己的代码中使用它。