没有内联Kotlin方法的报道

时间:2016-10-02 14:06:55

标签: testing gradle code-coverage kotlin jacoco

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

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

JetBrains Java Coverage工具中存在错误,请参阅https://youtrack.jetbrains.com/issue/KT-12605

所以,等到bug修复(或投票,加快开发)