没有内联Kotlin方法的报道

Jus*_*bie 9 testing code-coverage gradle jacoco kotlin

inline在编译期间,用关键字标记的Kotlin函数很好地内联,似乎代码覆盖工具(如JaCoCo)无法正确计算代码覆盖率.克服这个问题的常用方法是什么?有没有办法让测试以某种方式避免内联步骤并直接调用测试方法?是否可以跳过所有内联方法的报告生成(例如,通过Gradle任务)而不排除整个类?

Kis*_*kae 5

我不相信关闭内联是可能的,因为如果不内联某些功能可能没有任何意义。这些包括具有reified类型的函数(因为内联创建了类型信息的可用性)和具有 lambdas 作为参数的函数,因为它们会影响它们被内联的方法的控制流。


Jus*_*bie 5

Kotlin 团队推出了Kover插件,目标是支持包括内联函数在内的所有语言结构。