ssk blog

バンコクで働くエンジニアのメモ

XcodeでiOS(Swift)のカバレッジの計測方法 〜テストを書かなくても100%にできる!?〜

Xcodeでコードカバレッジを表示する方法は、こちらのブログを見てください。

コードカバレッジについて

AppleのDeveloperサイトには、コードカバレッジの説明があります。
Code Coverageの説明

Code coverage is a feature in Xcode 7 that enables you to visualize and measure how much of your code is being exercised by tests. With code coverage, you can determine whether your tests are doing the job you intended.

簡単に翻訳すると、テストでどれくらいのコードが実行されているかわかるものです。

コードカバレッジの計測方法

新規プロジェクトを作ってコードカバレッジを測定してみました。

f:id:ssktm:20171210223734p:plain


テストを書いてないのにカバレッジが37.93%ありました。


コードカバレッジってテストでどれくらいのコードが実行されているかわかるものではないのか...!?


アプリ起動時に呼ばれるコードは、カバレッジに含まれるみたいです。

テスト書かなくてもコードカバレッジを100%にできる

『アプリ起動時に呼ばれるコードは、カバレッジに含まれる』ということがわかったので、新規プロジェクトを作成したときに呼ばれないメソッドを削除するとテストを書かなくてもコードカバレッジが100%になります。

f:id:ssktm:20171210224939p:plain




テストを書いたときにコードカバレッジが思った以上に高くて、調べたらこの仕組みがわかりました。
実際のカバレッジは、1%もないです!テスト頑張ろう!