我有一个(gradle kotlin)spring boot项目,其中有几个DTO、配置类、常量等,我不想在测试覆盖率分析期间对它们进行分析。
有没有方便的Java符号可以用?
这就是我最终的工作。不得不以一种非常粗糙的方式编写一些自定义过滤逻辑,但它成功了。
向上投票@Min Hyung Hong的答案,让我走上了正确的道路。
建筑格雷德尔。kts
tasks {
withType<KotlinCompile<KotlinJvmOptions>> {
kotlinOptions.freeCompilerArgs = listOf("-Xjsr305=strict")
kotlinOptions.jvmTarget = "1.8"
}
withType<JacocoReport> {
reports {
xml.isEnabled = false
csv.isEnabled = false
html.destination = file("$buildDir/jacocoHtml")
}
afterEvaluate {
val filesToAvoidForCoverage = listOf(
"/dto",
"/config",
"MyApplicationKt.class"
)
val filesToCover = mutableListOf<String>()
File("build/classes/kotlin/main/app/example/core/")
.walkTopDown()
.mapNotNull { file ->
var match = false
filesToAvoidForCoverage.forEach {
if (file.absolutePath.contains(it)) {
match = true
}
}
return@mapNotNull if (!match) {
file.absolutePath
} else {
null
}
}
.filter { it.contains(".class") }
.toCollection(filesToCover)
classDirectories = files(filesToCover)
}
}
}
你说你在用kotlin和gradle。所以我假设您正在使用jacoco进行测试覆盖。
这是jacoco的一个例子。
jacocoTestReport {
afterEvaluate {
classDirectories = files(classDirectories.files.collect {
fileTree(dir: it,
exclude: ['**/*Application**'])
})
}
}
问题内容: doIt函数将打印“ dad”。有没有办法让它打印“儿子”? 问题答案: 是。但是就变量而言,它会被覆盖(将新值赋予变量。将新定义赋予函数是Override)。 在父类的块中使用时,该值将得到反映 如果变量是静态的,则在初始化时使用静态块更改其值, 否则更改构造函数。 你还可以稍后在任何块中更改该值。它将反映在超一流
问题内容: 嗨,我想使用WMI类来查找应用程序和产品信息。但是问题是我想使用Java或任何脚本语言(如python,javascript或perl)。我听说过JWMI,这可能是一个选择。有人可以帮我吗??? 问题答案: JavaScript和Java不是一回事。 JavaScript Windows脚本宿主(WSH)下提供了JavaScript。有了它,访问WMI相当容易: jWMI(Java)
问题内容: 我正在尝试将字符串转换为。我不是在尝试解析主机名:字符串是ipv4地址。有工作吗?还是我必须手动解析它? 问题答案: 这样做更好,因为无论传递什么字符串,它都不会进行DNS查找。
我希望用ASCII降序来排序,这样我就可以得到结果是"d",是"c",是"b",是"a"。 在java中有没有一种简单的方法可以做到这一点?
问题内容: 我们的代码的一部分是时间敏感的,我们需要保留一些内容,然后在30-60秒之内释放它,等等,我们可以 我刚刚实现了时间接口,并且在测试过程中使用了时间接口的存根实现,类似于此golang- nuts讨论 。 但是,在多个站点中称为,这意味着我们需要传递一个变量来跟踪我们实际睡了多少时间。 我想知道是否存在另一种在全球范围内存根的方法。也许进行系统调用来更改系统时钟? 也许我们可以编写自己
Go的范围可以在地图和切片上迭代,但我想知道是否有一种方法可以在一系列数字上迭代,比如: 或者有没有一种方法来表示Go中的整数范围,就像Ruby对类范围所做的那样?