問題タブ [coverstory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - XCode でデバッグ後のビルド ステップ/トリガーを使用することは可能ですか?
テストの実行時に、XCode で iPhone アプリの単体テストで (CoverStory を使用して) コード カバレッジ分析を自動的に実行したいと考えています。問題は、Google ツールボックス for Mac を使用していることです。テストの実行方法は実際には gcov からコード カバレッジ レポートを生成しないように見えるため、手動でカバレッジ HTML を再生成しない限り、得られる分析は古くなっています。ビルドして行った後。CoverStory を手動で再実行する必要がないように、これを行うデバッグ後のステップをトリガーするあいまいな方法があるかどうか疑問に思っています。出来ますか?
編集:明確にするために、デバッグを開始する前ではなく、可能であればプログラムの実行が完了した後にビルドステップを実行したいと考えています。
iphone - iPhone アプリで CoverStory を使用しようとすると、未定義のシンボル: _vproc_transaction_end、_vproc_transaction_begin
これらの手順に従って、 CoverStory を使用して iphone プロジェクトをセットアップした後、ビルドが 2 つのリンカー エラーで失敗します。
Snow Leopard で Xcode 3.2、GCC 4.2 を使用しています。私が見逃しているアイデアはありますか?
iphone - iPhone で gcov の環境変数を設定する方法
gcov
iPhone プロジェクトでのセットアップに関するすべての問題を解決しましたが、現在は次のようになっています。
私が間違っているかもしれないことについて誰か提案がありますか?
私は元々、グーグルの「UsingCoverStory」で見つけることができるグーグルの指示に従ってgcovをセットアップしました
更新:さて、私がやろうとしていることを明確にさせてください。自動的にテストしようとしている iPhone アプリがあります。フレームワークを使用しUISpec
て GUI を駆動しています。私が実際に知っておくべきことは、テストで実際にカバーしているコードの量です。私は本当に近いと思いますが、プロジェクトに合わせて環境/コンパイラ変数を適切に設定する方法を理解する必要があります。
ここに私がこれまでに行ったことの要約があります。最初にビルド ターゲットをコピーし、リンカー フラグと他のいくつかのオプションを規定どおりに指定しました。(これは、Google によって作成された AppleScript を使用して自動的に実行できます。手順とダウンロードは、Google で「UsingCoverStory」を検索すると見つかります) とにかく、これらの設定が正しく割り当てられていることを確認しました。構成をデバッグに設定し、これを 3.1.3 デバイスで実行しています。アプリを実行すると、アプリを終了するまで、デバッガーに特別なものは何も表示されません。その時点で、エラーが発生します。
ファイルを書き出そGCOV
うとしていると.gcda
思いますが、どこに書き込むべきかを伝える方法がよくわかりません。上記のディレクトリは私のマシン上のファイルがある場所であるため、ファイルがプロジェクトフォルダーに保存されているGCOV
ディレクトリ構造を再現しようとすることをどこかで読みました。ただし、その構造は iPhone には存在せず、デバイスもその構造を作成できないため、これは問題です。.gcno
.gcno
同じ問題を抱えている別の人を見つけたところ、環境変数を設定する必要があるとのことでした。iPhone SDK でコード カバレッジ分析用に gcov を設定するにはどうすればよいですか?
GCOV
ドキュメントには次のように記載されています。
たとえば、オブジェクト ファイル
/user/build/foo.o
が でビルドされた 場合、最終的な実行可能ファイルは、ターゲット システムでの実行時に-fprofile-arcs
データ ファイルを作成しようとします。/user/build/foo.gcda
対応するディレクトリが存在せず、作成できない場合、これは失敗します。これは、たとえば、環境を「GCOV_PREFIX=/target/run」および「GCOV_PREFIX_STRIP=1」に設定することで解決できます。このような設定では、データ ファイルに名前が付けられます/target/run/build/foo.gcda
。
私の質問は、iPhone でこれらの環境変数を設定するにはどうすればよいですか? ビルド構成または実際のコード内でこれを行う必要がありますか?
xcode - LLVM をコンパイラとして使用して、CoverStory は XCODE 4.0.1 をどのようにサポートしますか?
XCode 4.0.1 (LLVM 2.0) + CoverStory (Google が提供するコード カバー ツール) はどのようにコード カバー データを生成しますか?
次の WIKI は、CoverStory が XCODE 3.2 および 4.2 でどのように機能するかを説明しています。コンパイラとして LLVM を使用して、XCODE 4.0.1 と統合する方法を知りたいですか? *.gcno、*.gcna ファイルは、XCODE 4.2 構成手順に従うと生成されません。
http://code.google.com/p/coverstory/wiki/UsingCoverstory
任意のアイデアや議論をいただければ幸いです。前もって感謝します。
xcode - XCode 4 を使用してコード カバレッジ データを生成するために必要なもの
http://code.google.com/p/coverstory/wiki/UsingCoverstoryで説明されている手順を使用して、XCode 4.2.1 (ビルド 4D502) でアプリケーションのコード カバレッジ データを生成しようとしています。
オブジェクト ファイルと一緒に .gcno または .gcda ファイルが生成されていないため、明らかに不足しています。テスト ターゲットとアプリケーション ターゲットの両方に設定を追加しようとしましたが、役に立ちませんでした。私は 2 回目の検査を受けましたが、すべてが順調に進んでいるように見えます。何が欠けているかについてのアイデア。前もって感謝します。
xcode - OSX Lion でコード カバレッジ ファイルが生成されない
単体テスト (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 を使用してカバレッジ統計を表示することができました!!
この点に関する解決策/方向性は非常に役立ちます。ありがとう!!
objective-c - 例外をスローするスコープが gcov/CoverStory でカバーされていると表示されないのはなぜですか?
Xcode 4.6 でカバレッジ ツールを使用し、CoverStory で視覚化しています。私が何をしても、CoverStory は、Objective-C 例外をスローしたスコープをカバーされているとして表示しません。ただし、これらの行にブレークポイントを指定して単体テストを実行すると、ブレークポイントとテスト (スローを予期する) にヒットします。すべて合格。
カバレッジ ツールにこれを認識させるために必要な設定はありますか?
編集: ここで CoverStory の除外フラグを見つけました。この行が実行されたと見なされないことは、私にはまだ奇妙に思えます。何故ですか?
ios - .gcda および .gcno ファイルを生成した後でも、coverstory を使用して xcode 4.6 でコード カバレッジが処理されない
coverstoryを使用してxcode 4.6でコードカバレッジを実行しようとしていました。プロジェクトのビルド設定で次の手順に従いました。
1.「テスト カバレッジ ファイルの生成」を「はい」に設定します。
2.「インストゥルメント プログラム フロー」を YES に設定します。
3.単体テストのビルドと実行
これらのフラグを yes に設定した後、「i386」フォルダーに .gcda および .gcno ファイルを生成できました。
ただし、カバーストーリーでこのフォルダーを開こうとすると、ファイルは読み取られますが処理されません。「xargs: (null): No such file or directory」というメッセージが表示され、「failed to process files:」も表示されます。gcovr と Icov を使ってカバレッジも試しましたが、うまくいきませんでした。
これらのリンクをたどりましたhttp://qualitycoding.org/xcode-code-coverage/およびhttp://www.infinite-loop.dk/blog/2012/06/unit-testing-load-of-image-resources/
誰でもこれで私を助けてもらえますか?
ios - iOS コード カバレッジ: @implementation ヒットしない?
私は最近、コードベースにテスト カバレッジ分析を追加しました。ありがたいことに、十分にカバーされると予想していたクラスのカバレッジは 95% を超えています。私は 100% を達成したクラスが大好きです。それが目標であることは明らかですが、私のクラスのいくつかは 96 ~ 98% で止まっています。その1行は、@implementation ClassName
私が本当に混乱していると思う行です。
論理的には、クラスの実行可能行がすべて実行された場合、クラスは明らかにインスタンス化されています。
データの生成と使用には標準の Xcode メソッド ( __gcov_flush()
) を使用し、分析と HTML 生成には CoverStory を使用しています。.gcda
.gcno
大したことではありません。明らかにクラスは十分にカバーされていますが、なんらかの理由でダンライン@implementation
が見逃されているため、100%ではないクラスの精神的なメモを保持するのは面倒です.
@implementation
行がヒットしたファイルと行が抜けたファイルの間のパターンを見つけることができません。他の誰かがこれを経験したことがありますか、および/または私がそれを軽減しようとする方法を知っていますか? おそらくCoverStoryのバグでしょうか?