問題タブ [code-coverage]

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.

0 投票する
4 に答える
4213 参照

java - EMMAは私のプロジェクトの1つをカバーしません

EMMAに問題があり、1つを除くすべてのさまざまなJavaプロジェクトを正しくカバーしています。ANTスクリプトが正しいように見えるのに、なぜこれが発生するのか、私は戸惑っています。次の期待される出力が与えられます。

上記は、次のANTスクリプトによって生成されます。

JUnitテストが実行された後、以下がログに記録されます。

emma.report:[レポート]入力ファイルを処理しています...
[レポート]16ミリ秒で読み取られてマージされた1つのファイル
[レポート]何もしません:どのデータファイルにもランタイムカバレッジデータが見つかりません

また、カバレッジレポートは生成されません。

Coverage.emmaファイルが正しくリンクされていると確信しているのに、EMMAがコードをカバーしていないのはなぜですか?

タスクは次のemma.reportようになります。

0 投票する
2 に答える
1695 参照

python - コマンドラインで生成された python .coverage ファイルを PyDev と統合する

私のビルド環境は、コマンド ラインで (Ned Batchelder coverage.py ツールを使用して) カバレッジ ファイルをコンパイル、実行、および作成するように構成されています。

私はエディターとして PyDev で Eclipse を使用していますが、実用的な理由から、ビルド環境全体を Eclipse に変換することは不可能であり、便利ではありません (したがって、IDE から直接カバレッジ データを生成するように設計されています)。

PyDev は、カバレッジ情報を生成するために同じカバレッジ ツール (またはそれに非常に類似したもの) を使用しているようです。

これを行う方法について何か考えはありますか?

0 投票する
3 に答える
4911 参照

c++ - Windows 上のネイティブ C++ アプリケーションでの自動デッド コード検出?

バックグラウンド

私はネイティブ C++ で数年間にわたって作成したアプリケーションを持っていますが、これは約 60 KLOC です。死んでいる関数やクラスはたくさんあります (以下の同様の Unix ベースの質問のように、おそらく 10 ~ 15% です)。私たちは最近、すべての新しいコードに対して単体テストを行い、可能な限り変更されたコードに適用することを開始しました。ただし、現時点でテスト カバレッジが 5% 未満である SWAG を作成します。

仮定/制約

メソッドおよび/またはツールは、以下をサポートする必要があります。

  • ネイティブ (つまり、アンマネージ) C++
  • WindowsXP
  • ビジュアル スタジオ 2005
  • カバレッジのためにユーザー提供のテスト ケースを要求してはなりません。(たとえば、コード カバレッジを生成するために単体テストに依存することはできません)

メソッドがこれらの要件を超えるものをサポートしている場合は、すばらしいことです。

注:現在、Team System ではなく、Visual Studio 2005 の Professional エディションを使用しています。したがって、Team System を使用することは有効な提案かもしれません (わからない、使用したことがありません) が、それが唯一の解決策ではないことを願っています。

コード カバレッジに単体テストを使用することが問題となる理由

私は、汎用ツールが任意のアプリケーションですべてのデッド (到達不能コードなど) を誤検出ゼロで見つけることは不可能だと考えています (これは停止問題と同等だと思います)。しかし、一般的なツールが、実際には死んでいる可能性が非常に高い多くの種類のデッドコードを見つけることも可能だと私は信じています。たとえば、クラスや関数がコード内で他から参照されることは決してありません。

単体テストを使用してこのカバレッジを提供することにより、一般的なアルゴリズムを使用しなくなり、検出できるデッド コードの割合と、ヒットが誤検知ではない確率の両方が増加します。逆に、単体テストを使用すると、単体テスト自体が特定のコード部分を実行する唯一のものである可能性があるため、偽陰性になる可能性があります。理想的には、外部で利用可能なすべてのメソッド、API、ユーザー コントロールなどを実行する回帰テストを行います。これは、コード カバレッジ分析のベースライン測定として機能し、特定のメソッドが誤検知になることを除外します。残念ながら、現時点ではこの自動テストは行っていません。

ただし、テスト ケースのカバー率が非常に低い非常に大きなコード ベースがあるため、テスト ケースの作成に膨大な時間を費やすことなく役立つものを探しています。

質問

Visual Studio 2005 開発環境を使用した Windows プラットフォーム上のネイティブ C++ アプリケーションで、自動化または半自動化された方法でデッド コードを検出するにはどうすればよいでしょうか?

関連項目

レガシ C/C++ プロジェクトでのデッド コードの検出 VC++ コンパイラにすべてのコードをコンパイルするように指示します。それはできますか?

0 投票する
2 に答える
815 参照

ant - Emma と Ant を使用してカバレッジしきい値を設定する

私は ant ビルドで Emma を使用して、カバレッジ レポートを実行しています。Emma を使用したことがある場合、ライン カバレッジ (または任意の種類のカバレッジ統計) が特定のしきい値を満たさない場合にビルドを失敗させる方法はありますか? 例: ライン カバレッジが 100% でな​​い場合

0 投票する
7 に答える
535 参照

c# - 単体テスト用にコーディングを準備するための最良の戦略

多くのコード カバレッジが欠けているソリューションがあります。単体テストの作成を開始するには、このコードをリファクタリングして分離する必要があります。最善の戦略は何ですか?私はまず、ビジネス オブジェクトからのデータ アクセスからビジネス ロジックを分離して、まず何らかの組織を取得し、そこからドリルダウンすることを推し進める必要があると考えています。クラスの多くは単一の責任原則をサポートしていないため、それらのテストを開始するのは困難です。

レガシ ソリューションを採用し、それを形にしてコード カバレッジと単体テストに備えるための他の提案やベスト プラクティスはありますか?

0 投票する
1 に答える
346 参照

windows - Devel::Cover は Perl 5.10 for Windows の mod_perl2 で動作しますか?

mod_perl2 と Perl 5.10 の 2 つはうまく連携していますが、 Devel::Coverが Win32 で mod_perl2 と連携することについて肯定的な情報を見つけることができないようです。私は現在、ActiveState の Perl 5.10 を使用していますが、この組み合わせが機能することを意味するのであれば、Strawberry Perl に切り替えても構わないと思います。

また、Devel::Cover PPD は ActiveState、Bribes、UWinnipeg、または Trouchelle から Perl 5.10 で利用できないようです。 ?

0 投票する
3 に答える
47545 参照

c# - 単体テストでモック オブジェクトを使用しながら、コード カバレッジを使用するにはどうすればよいですか?

現在、モック オブジェクトの概念を単体テストに導入し始めています。特に、Moq フレームワークを使用しています。しかし、私が気付いたことの 1 つは、このフレームワークを使用してテストしているクラスのコード カバレッジが突然 0% になっていることです。

クラスをモックしているだけなので、実際のクラス自体を実行していないことがわかりました....しかし、これらのテストを作成し、コードカバレッジが正確な結果を返すようにするにはどうすればよいですか? モックを使用する一連のテストと、クラスを直接インスタンス化するための一連のテストを作成する必要がありますか。

気づかないうちに何か間違ったことをしているのではないでしょうか?

「MyClass」というクラスを単体テストしようとしている例を次に示します。

私が何をすべきか知っている人はいますか?

0 投票する
6 に答える
37113 参照

php - PHP のコード カバレッジ ツール

PHP で使用できるコード カバレッジ ツールはありますか? PHP で記述されたコードと API のコード カバレッジを確認したいのですが、PHP のコード カバレッジ ツールを手に入れることができませんでした。PHP はサーバー側の言語であり、本質的に動的であるためです。

PHPのコードカバレッジを実行できる方法を知っている人はいますか?

0 投票する
2 に答える
468 参照

automated-tests - コード カバレッジの汎用関数/パラメータ?

アプリケーションのコード カバレッジに取り組んでいます。さて、コード カバレッジは、作成するテストの種類と、コード カバレッジを実行する言語に関連するアクティビティであることがわかりました。

私の質問は: 一般的なコード カバレッジを行う方法はありますか? のように、たとえば 10% 以上のコードのコード カバレッジを取得するために (テスト対象のアプリケーションのより具体的なテストと共に) 実行できる一連の機能/テスト ケースを用意できますか?

もっと言えば、コード カバレッジ用のフレームワークを構築したい場合、一般的なフレームワークを作成するための最善の方法は何ですか? 一部の機能を自動化または一般化することは可能ですか?

0 投票する
4 に答える
2657 参照

c - C のコード カバレッジ

C のコード カバレッジを探しています。さまざまなプラットフォームやコンパイラで作業しているため、gcov などのツールに頼ることはできません。

基本的に、コード カバレッジを自分の (独自の実装) 単体テスト フレームワークに組み込むための戦略を探しています。