此错误表示类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找不到它。
答案 0 :(得分:1)
TestUtil
是一个内部类。您无法在自己的代码中使用它。