代码覆盖内联函数
我有这个函数写在Kotlin
inline fun <T> handleEmptyResult(observable: Observable<T>, crossinline resultEmptyCheckingFunc: (obj: T?) -> Boolean): Observable<T> { return observable .flatMap { if (resultEmptyCheckingFunc(it)) { Observable.error<T>(ResultEmptyError(Throwable())) } else { Observable.just(it) } } }
但是当我为这个函数创建单元测试时,它在报告中显示0覆盖。 我正在使用jacoco代码覆盖。 你们知道如何正确地单元测试内联函数吗? 谢谢!
由于代码是内联的,在你的测试中没有对这个函数的调用,而jacoco
认为你永远不会使用它。
一个建议:忘记测试覆盖,这是完全没用的。 一个项目可以有很好的测试和30%的覆盖率。 或者有人可以花费大量的时间来获得100%的覆盖率,并且仍然有数十个生产中的错误。 我见过两个