升级SpringBoot/Gradle后Pitest构建失败:类型不匹配错误
问题解决:Pitest升级后reportDir类型不兼容构建错误
错误原因
升级至Pitest 1.9.0后,reportDir属性的类型从字符串(String)改为了org.gradle.api.file.Directory,而你当前用"${buildDir}/reports/pit/${project.version}"这种GString字符串赋值,类型不匹配导致构建失败。
修复方案
修改pitest配置块中的reportDir赋值方式,使用Gradle提供的目录API生成正确的Directory实例:
pitest { targetClasses = ['com.eew.wrew.werew.*'] enableDefaultIncrementalAnalysis = true // 改用layout.buildDirectory.dir()生成Directory类型对象(Gradle 7+推荐写法) reportDir = layout.buildDirectory.dir("reports/pit/${project.version}") outputFormats = ['HTML'] pitestVersion = '1.9.0' timeoutConstInMillis = 100000 mutationThreshold = 80 timestampedReports=false }
如果习惯使用buildDir变量,也可以用project.file()方法转换:
reportDir = project.file("${buildDir}/reports/pit/${project.version}")
验证
重新执行构建命令(如./gradlew pitest),错误会消失,Pitest将正常在指定目录生成报告。
内容的提问来源于stack exchange,提问作者KVL
相关产品推荐
相关产品推荐

