コードカバレッジはXcodeのテストでよく使用されます。私は手動で実行されたアプリのためにそれを使用したいと思います。おそらくサードパーティのツールを使ってやってもいいですか?テストなしのXcodeでのコードカバレッジ(手動実行の場合)
たとえば、私はデバイスでアプリケーションをビルドして起動し、いくつかのアクションを実行してコードカバレッジの結果を確認します。
コードカバレッジはXcodeのテストでよく使用されます。私は手動で実行されたアプリのためにそれを使用したいと思います。おそらくサードパーティのツールを使ってやってもいいですか?テストなしのXcodeでのコードカバレッジ(手動実行の場合)
たとえば、私はデバイスでアプリケーションをビルドして起動し、いくつかのアクションを実行してコードカバレッジの結果を確認します。
コードカバレッジでは、コードのどの部分がテストを実行したかが記録されます。しかし、あなたが言ったようにいくつかのアクションを実行するいくつかのUITestを構築することができます。 UIはUIテストを記録して、シミュレータで実行するアクションを繰り返すことができます。テストを実行すると、繰り返します。カバレッジは、コードのどの部分がUITestsの間に興奮しているかを示します。 Xcodeの7のUITesting上のいくつかの情報のため
ルックはwwdc15から開発者のセッションの1つで良いのデモがあり
あなたはすでにそれを考え出したかもしれないが、それは前に可能であった。おそらくありがとうございますが、私が欲しいのはまさにそれではありません。私のアプリは非常にコンテンツ固有のものなので、私はUIアクションを記録できません。一般に、コードカバレッジは、手動実行を含む任意のコード実行で動作します。 Xcodeのように見えるのは、テストだけに制限されています。私は手作業で動作するアプローチを探しています。ユーザーはアプリケーションとやりとりして、この実行中に実行されたコードを確認します。 – brigadir
Xcode7。これを実現する方法は、プロジェクトで「Instrument Program Flow」と「Test Coverageファイルを生成する」フラグをYesに設定し、後でカバレッジデータファイルを書き込むためにアプリケーション内のどこかに「フラッシュ」コードを追加することでした。この "フラッシング"部分は、gcovrやlcovなどの他のツールで後で使用できるカバレッジデータファイルを実際に書き込み、カバレッジデータを取得します。手動または自動テストでアプリとやり取りすると、カバレッジデータが書き込まれます。
ただし、Xcode7では、カバレッジデータがXcode単体テストに限定されているようです。私はカバレッジデータを収集する方法があれば、手動でアプリケーションとやりとりすることによって、または自動化されたテストを通じて、把握しようとしています。
私は 'gcovr'で旧式のアプローチについて読んだことがありますが、Xcode7では新しく面白いです。 Xcode7がXCTestsのカバレッジレポートを生成するいくつかのツールセットが必要ですが、それについての有用な情報は見つかりません。あなたが何か有益なものを見つけたら教えてください。 – brigadir
基本的には、コードのどの部分が正常に実行されているかを見たいと思っています。この情報はおそらく何事にも価値のないものではないことに注意してください。 – luk2302
@ luk2302はい、正確です。カバレッジ結果は、実行された手動テストがすべてのシナリオをカバーしていることを確認するのに役立ちます。たとえば、手動で実行した後、どのコード部分がカバーされ、どの部分が正しく動作するかテストする必要があります。もう一度教えてください。アプリはコンテンツ固有のものなので、UIアクションを記録することはできません。 – brigadir