groovy.lang.MissingMethodException:使用groovy默认生成器注释时,没有方法异常的签名
我有以下枚举、特征和一个类groovy.lang.MissingMethodException:使用groovy默认生成器注释时,没有方法异常的签名,groovy,builder,Groovy,Builder,我有以下枚举、特征和一个类 enum FileFormat { V2, V3 } trait FileSet { int fileSetId List<DataFile> srcFiles = Collections.emptyList() boolean header = false boolean mixedPack = false FileFormat format List<String> getSrcF
enum FileFormat {
V2, V3
}
trait FileSet {
int fileSetId
List<DataFile> srcFiles = Collections.emptyList()
boolean header = false
boolean mixedPack = false
FileFormat format
List<String> getSrcFileNames() {
srcFiles.collect { it -> it.getSrcFileName() }
}
int getFileCount() {
srcFiles.size()
}
abstract boolean isValid()
def addFile(HeaderFileType hdrType) {
def f = DataFile()
}
}
@Builder(builderMethodName = "builder", buildMethodName = "build", prefix = "with", excludes = "srcFileNames, valid, fileCount")
class VolumeFileSet implements FileSet {
@Override
boolean isValid() {
//TODO implement based on VolumeFileSet validation rules
return true
}
}
这是测试
class TestSpec extends Specification {
def setupSpec() {
def volumeFileSet = VolumeFileSet
.builder()
.withHeader(true)
.withMixedPack(true)
.witFormat(FileFormat.V3) //ERROR here
.build()
}
}
您拼错了方法名称 它应该是
withFormat(FileFormat.V3)
,而不是witFormat
更正后,代码编译并运行良好
class TestSpec extends Specification {
def setupSpec() {
def volumeFileSet = VolumeFileSet
.builder()
.withHeader(true)
.withMixedPack(true)
.witFormat(FileFormat.V3) //ERROR here
.build()
}
}