2012/03/06

Xcode + CoverStoryでテストコードのカバレッジを見えるようにする

CoverStoryはGoogle製のコードカバレッジビューワです。 今までテストを書く習慣があまりなかったのでやる気を出すための前準備として導入してみました。 なお、使用環境はSnow leopard, Xcode 4.2, Apple LLVM Compiler 3.0です。

2012.07.12 追記: Lionの場合には次の記事も参考にしてください。

プロジェクトの設定

Xcode 4.2ではgcovは使えず、代わりにllvm付属の互換ツールを用いるようです。具体的には次の手順でプロジェクト設定などを変更します。

  1. Build Settingsを開く

  2. Other C Flagsに-fprofile-arcsと-ftest-coverageを追加する

  3. Other Linker Flagsに-lprofile_rtを追加する

  4. 必要なら、次のフラグをOther Linker Flagsに追加する (ひとつめはパスが通っていることが多いはず)

    • -L/usr/lib
    • -L/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib

    参考: Stack Overflow

以上のように設定してテストを実行すると$HOME/Library/Developer/Xcode/DerivedData以下のフォルダに.gcnoと.gcdaなどが生成されているはずです。

なお、Technical Q&A QA1514によると、次の2つのプロジェクトの設定をYesにする必要があるように書かれていますが、Noのままでよいようです。手元の環境では、むしろあると実行時にエラーになりました。

  • Generate Test Coverage Files
  • Insturument Program Flow

CoverStoryの起動

CoverStory導入は次のように非常に簡単です。

  1. http://code.google.com/p/coverstory/ からdmgをダウンロードしてApplicationにドロップ
  2. gcovが生成物があるフォルダをフォルダごとCoverStoryにドロップ

起動すると、次のようなウィンドウが開きます。左に実行したファイル一覧があり、右に実行したコードが表示されます。テストされていないコードは赤く表示されます。

関連リンク

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。