没有涵盖Kotlin方法的报道 [英] No coverage report for inlined Kotlin methods
问题描述
inline
关键字的Kotlin函数在编译过程中很好地被内联,似乎代码覆盖工具(比如我不认为有可能关闭内联,因为如果某些函数没有内联,它们可能没有任何意义。这些包括
Kotlin functions marked with inline
keyword are, well, inlined during the compilation and it seems that code coverage tools (like JaCoCo) fail to properly calculate code coverage. What is the usual approach to overcoming this issue? Is there a way to make the test somehow avoid the inlining step and invoke the tested methods directly? Is it possible to skip report generation of all inlined methods (via Gradle task, for example) without excluding whole classes?
I don't believe it is possible to turn off inlining since some functions may not make any sense if they are not inlined. These include functions with reified
types (since the inlining creates the availability of type information) and functions with lambdas as parameters, since they can affect the control flow of the method they are inlined in.
这篇关于没有涵盖Kotlin方法的报道的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!