3

単体テスト (Mac OS X Lion 10.7 (11A2061) 上の Xcode 4.2.1 (4D502)) のコード カバレッジを取得しようとしていますが、どういうわけか .gcda ファイルが作成されません。ユニット テスト ターゲットの .../Objects-normal/i386 フォルダーに .d および .o ファイルが表示されますが、ユニット テスト対象のファイルの gcno/gcda ファイルが見つからないため、カバレッジを生成できません。テストされているものの統計。

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

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

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

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

4

2 に答える 2

4

gcda ファイルがありませんでしたが、いくつかの Web サイトで解決策を見つけました。次のフラグを追加する必要があります。

-fprofile-arcs -ftest-coverage

「その他の C フラグ」へ。テストを実行すると、gcda ファイルが存在します。

gcno ファイルは、"Generate Test Coverage Files" と "Instrument Program Flow" の両方を YES に設定した後に生成されます。

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

または、Generate Profiling Code を YES に設定すると、gcda ファイルも生成されることがわかりました。

于 2012-10-17T07:46:44.683 に答える
1

コードとテストに次のビルド設定が適用されていることを確認してください。

GCC_PREPROCESSOR_DEFINITIONS = GCOV_ENABLED=1

GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES

GCC_GENERATE_TEST_COVERAGE_FILES = YES

テストをビルド/実行すると、欠落している gcda ファイルが作成されます。上記を含むxcconfigファイルテンプレートがあるほど、これに遭遇します。最近のバージョンの Xcode では、gcov ライブラリにリンクする必要はありません。

于 2012-05-31T19:21:38.547 に答える