XCTestでカバレッジを確認する


はじめに

XCTestでカバレッジの確認をする方法について書きます。

XCTestのテストコードの書き方などについてはこちらを参考にしてみてください。
XCTest入門Part1 (Swift)
http://qiita.com/okuderap/items/97f9d6026d0da59fef38

非同期処理のテストについてはこちらを参考にしてみてください。
XCTest入門Part2 (Swift) ~非同期編~
http://qiita.com/okuderap/items/e02b73880b8bc499debe

確認できること

C0(ステートメントカバレッジ)のみ確認することができます。

確認方法

Shift + Command + 「<」で、
Edit Schemeを開きます。

「Test」を選択して、Code Coverageにチェックをつけます。

テストを実行します。

実行後、Report Navigator(ナビゲータエリアの1番右のアイコン)から
実行したテストのレポートを選択します。

Coverageをクリックすると、確認することができます。

この例はModelクラスを対象としてテストをしましたが、
Model.swiftを選択してみると、addSuffixPというメソッドの処理を網羅できていないことがわかります。

ダブルクリックで、対象のコードに飛ぶことができます。
コードの右側の数字がテストで呼ばれた回数を示しており、0の箇所が赤くなっています。

赤くなっている0の箇所にカーソルをあてると、以下のように対象の行が赤くなります。

また、0ではない箇所にカーソルをあてると、以下のように対象の行が緑になります。

最後に

カバレッジを確認することでテスト漏れを防ぐことができそうです。