2

iOS SDK 5.0 を使用して Lion で Xcode 4.2Build 4D199 を使用して GCov を動作させようとしましたが、役に立ちませんでした。これで運が良かった人はいますか?単体テストに Google Tools For Mac を使用しており、libprofile_rt.dylib にリンクして以下を追加しました。

"OTHER_CFLAGS[arch=*]" = (
    "-ftest-coverage",
    "-fprofile-arcs",
    "-falign-loops=16",
);

ここのCoverstoryページに示されているようにhttp://code.google.com/p/coverstory/wiki/UsingCoverstory しかし、私が見つけたとき. -name *.gcda" 何も表示されません。何が足りないのですか?

4

2 に答える 2

4

GCov はXCode 4.2 ではサポートされなくなりました。その「マニュアルページ」に行くと、XCode 4.2はドロップダウンリストのオプションではないことに気付くでしょう。さらに、コンパイルを見ると、llvm-g++-4.2 にリンクされている「c++」を使用しています。現在、gcc ツール チェーンを直接使用するオプションを提供する代わりに、Clang/LLVM ツール チェーンのみを使用しています (これは、gcc ツール チェーンを使用することがよくあります)。この結果、XCode4 でのコード カバレッジをgcov直接利用できなくなりました。これは、XCode 4 をバイパスする CMake を使用したコンパイルにも影響を与える可能性があります。最初のリンクでは、プロジェクトを変更して.profile_rtgcov

于 2011-12-18T15:34:12.723 に答える
2

カバレッジ テスト レポートの生成方法 (Xcode 4.5 版)

  1. cdXcode プロジェクトに追加して、次のように入力します

    git クローン git@github.com:j4n0/XcodeCoverage.git
    cd XcodeCoverage
    wget http://downloads.sourceforge.net/ltp/lcov-1.10.tar.gz
    タール -zxvf lcov-1.10.tar.gz
    
  2. メイン ターゲットと SentestKit ターゲットの両方で次のビルド プロパティを設定しますが、デバッグ構成に対してのみ設定します (ノードを展開すると、Debug および Release エントリがあります)。

    プロファイリング コードの生成 はい
    テスト カバレッジ ファイルの生成 はい
    インストルメント プログラム フロー はい
    
  3. Xcode コマンド ライン ツールをインストールします: [Xcode] > [設定] > [ダウンロード] > [コマンド ライン ツール]。

  4. メイン ターゲットに、実行する「Run Script」ビルド フェーズを追加します。./XcodeCoverage/exportenv.sh

  5. アプリケーションをビルドし、テストを実行します。

  6. XcodeCoverage の入力からカバレッジ レポートを生成します。./getcov
    完了すると、スクリプトは HTML 出力を含むブラウザーを起動します。

レポートが生成されない場合は、次を試してください。

  • アプリケーションの plist を編集し、以下を追加します。
    <key>UIApplicationExitsOnSuspend</key>
    <真/>
    
    次に、アプリケーションを実行し、[ホーム] を押します。これにより、正常に終了し、gcda ファイルが生成されます。
  • それでもうまくいかない場合は、代わりに iPad シミュレーターを使用してみてください。

その他のヒントとコツについては、Richard BuckleによるiOS でのコード カバレッジに関する講演を参照してください。

于 2013-01-26T23:35:24.957 に答える