2015-09-22 12 views
36

Xcode 7.0とObjective C(like this)でコードカバレッジ統計を有効にしていますが、うまくいきます。Xcode 7のカバレッジ統計情報からコードを除外

一部のソース行をカバレッジレポートで無視するようにマーキングすることはできますか。私がlcovを使用していた場合、LCOV_EXCL_STARTLCOV_EXCL_ENDのマーカ(How to tell lcov to ignore lines in the source filesのような)を使うことができましたが、Xcodeはそれを認識しません。

これには代替メカニズムがありますか?

+1

私は若くて未熟な私もそれをやっていましたが、コードの一部を無視して100%のカバレッジに到達しようとするのは無益だと気付きました。コードを無視してレポートを再生しないでください。 – Sulthan

+0

私が見ることができる唯一の方法は、ビルドディレクトリに 'Coverage.profdata'ファイルがあり、それを更新したときに、テストのポストアクションを使用することです。 llvm-covツールを使用してgcovにエクスポートすることはおそらく可能です。 – Sulthan

+6

@Sulthan私は若く、未経験でもありません。特定の行に到達できないと主張するなどの行を除外したいと思います。 Xcodeの明るい赤線が実際にアサートされているかどうかをチェックする必要はなく、関数内の到達可能なすべての行が網羅されているかどうかを一目で把握することは大変価値があります。 –

答えて

0

Xcode7以降(based on some forum posts)のカバレッジシステムでは、LLVMのカバレッジ生成およびレポーティングメカニズムが使用されます。そのフォーマットは、http://llvm.org/docs/CoverageMappingFormat.htmlで詳しく説明されています。 Xcode 9以降、この形式は、行(または他の構造)の除外手段をサポートしていません。

結果のマッピングは、消耗の形式(txtまたはhtml)でllvm-covにエクスポートされます。 llvm-cov は、ラインとリージョンの両方について「より大きい」または「より小さい」カバレッジのみを報告するための単純なしきい値を持っていますが、上記の質問に基づいているわけではありません。

関連する問題