2012-04-11 30 views
3

私のユニットテスト(Mac OS X Lion 10.7(11A2061)のXcode 4.2.1(4D502))のコードカバレッジを取得しようとしていますが、何らかの理由で.gcdaファイル作成されません。私は、ユニットテスト対象の.../Objects-normal/i386フォルダの.dと.oファイルを見ることができますが、ユニットテスト対象のファイルにはgcno/gcdaファイルがないため、カバレッジを生成できませんテストされているものの統計。OSX Lionでコードカバレッジファイルが生成されない

主なターゲットでは、すべてのファイルに対して.d、.o、および.gcnoファイルが表示されます。

私はプロジェクト設定が正しく設定されていると思いますが、OS X Lionには本当に欠けているものがあります。 http://code.google.com/p/coverstory/wiki/UsingCoverstoryに記載されている手順を試しましたが、私の問題を解決していないようです。

注:これはSnow Leopardで動作し、CoverStoryを使用してカバレッジ統計情報を表示することができました。

この点に関する解決策や方向性は非常に役に立ちます。ありがとう!!

+0

Lionのカバレッジ設定でテストが正常に実行されますか? –

答えて

0

次のビルド設定は、あなたのコードとテストのための場所であることを確認してください:

GCC_PREPROCESSOR_DEFINITIONS = GCOV_ENABLED=1

GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES

GCC_GENERATE_TEST_COVERAGE_FILES = YES

ビル/テストを実行しても作成する必要が不足しているgcdaファイル。私はこれを十分に実行して、上記を含むxcconfigファイルテンプレートを持っています。最近のバージョンのXcodeでgcovライブラリとリンクする必要はありません。

4

gcdaファイルが見つかりませんでしたが、一部のWebサイトで解決策が見つかりました。

-fprofile-arcs -ftest-coverage 

を "その他のCフラグ"に追加する必要があります。テストの実行後、gcdaファイルが存在します。

「テストカバレッジファイルの生成」と「計測器プログ​​ラムフロー」の両方を「はい」に設定した後に、gcnoファイルが生成されます。

私はXcode 4.3.2とllvmコンパイラを使用しています。

また、プロファイリングコードの生成をYESに設定すると、gcdaファイルも生成されることがわかりました。

関連する問題