2016-10-02 7 views
6

キーワードココロはinlineキーワードが付いています。コンパイル時によくインライン展開され、コードカバレッジツール(JaCoCoなど)がコードカバレッジを正しく計算できないようです。この問題を克服するための通常のアプローチは何ですか?テストをインライン展開のステップを避け、テストされたメソッドを直接呼び出しさせる方法はありますか?クラス全体を除外することなく、すべてのインラインメソッド(たとえばGradleタスク経由)のレポート生成をスキップすることは可能ですか?インラインKotlinメソッドのカバレッジレポートがありません

答えて

3

インライン化をオフにすることは可能ですが、一部の関数はインライン化されていないと意味がありません。これにはreified型の関数が含まれているため(インライン展開では型情報が利用できるため)、lambdaをパラメータとして関数がインライン化されたメソッドの制御フローに影響を及ぼす可能性があるためです。

+0

。さて、インライン関数のコードカバレッジを正確に計算できるツールについて知っていますか?私は大部分が型安全なビルダーで構成されたモジュールを備えたライブラリを保守しており、広範囲にユニットテストをしていますが、報告されたコードカバレッジの割合はやや劣っています。 – JustACluelessNewbie

0

JetBrains Javaカバレッジツールについては、https://youtrack.jetbrains.com/issue/KT-12605を参照してください。

ので、バグが修正されますまで、待つだけ(または開発をスピードアップするために、それに投票)これは私が恐れていたものです

関連する問題