問題タブ [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 投票する
2 に答える
699 参照

testing - J2ME カバレッジ ツール

テスト セットのコード カバレッジを見積もる必要があります。テストは、物理デバイス上の J2ME アプリケーションで実行されます。MIDP 2.1、CLDC 1.1、および JSR-75 FileConnection が利用可能です。J2ME は (大まかに) J2SE のサブセットであるため、java.io.File を使用するツール (これまでの唯一の回答にリストされているものなど) は使用できません。

これは主に、テストがまったく触れていないコードの断片を特定するためです。

あとからレポートデータを任意に結合できるのもいいので、新しいテストで実際にどれだけカバー率が上がるかがわかります。

Cobertura4j2meに代わるものはありますか?

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

xslt - XSL コード カバレッジ ツール

テスト中に実際に実行される XSL ドキュメントの割合を教えてくれるツールはありますか?

アップデート

Oxygen の XSL デバッガーとプロファイラーより優れたものを見つけることができなかったので、Mladen の回答を受け入れます。

0 投票する
5 に答える
703 参照

c++ - VC++ コンパイラにすべてのコードをコンパイルするように指示します。それはできますか?

アンマネージ C++ に VS2005 VC++ を使用しています。私は VSTS を持っており、コード カバレッジ ツールを使用して単体テストに関して次の 2 つのことを達成しようとしています。

  1. テスト対象の参照コードがどれだけ実行されているかを確認する
  2. テスト対象のコード (存在する場合) のどれだけのメソッドが単体テストされていないかを確認します

VSTS コード カバレッジ ツール (リンク テキストを参照) のセットアップとタスク 1 の実行は簡単でした。しかし、#2は私にとって驚くべき挑戦でした。これが私のテストコードです。

上記のように両方のメソッドがクラス内で定義されている場合、コンパイラは obj ファイルから ThisMethodDoesNotRun() を自動的に削除します。その定義をクラスの外に移動すると、それは obj ファイルに含まれ、コード カバレッジ ツールはそれがまったく実行されていないことを示します。ほとんどの状況では、コンパイラーにこの除去を行ってもらいたいのですが、コード・カバレッジ・ツールの場合、値のかなりの部分が無効になります (テストされていないメソッドの検出など)。私はコンパイラに私にとって賢くするのをやめてすべてをコンパイルするように指示するために多くのことを試みましたが、私は困惑しています. コード カバレッジ ツールがこれを補正してくれるといいのですが (ソースをスキャンしてリンカーの出力と照合することで可能だと思います)、有効にする特別なモードがあることを示唆するものは何も見つかりませんでした。

よろしくお願いします、KGB

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

visual-studio - VSTS コード カバレッジ バグ?

このVSTSコードカバレッジの「バグ」を経験した人はいますか?何か提案はありますか?

私は Visual Studio を使用してコード カバレッジ分析を行っていますが、これは通常、付属のツールを使用して簡単に行うことができます。しかし、私には克服できない問題があります。アセンブリ A、B、C、および D があり、それらすべてをカバレッジ分析用にマークしたとします。テストを実行して結果を確認すると、A、B、および C が含まれているが、D が含まれていないレポートが見つかりました。 UI テストはまだ利用していません)。D がレポートから欠落する原因となる D のテストがないため、コード カバレッジの合計パーセンテージと "ブロックがカバーされていません" は正しくありません。

次のいずれかを行う方法を知っている人はいますか?

  • カバレッジ レポートが正しくなるように手動で調整できるように、D の合計「ブロック数」を計算しますか?
  • カバレッジ レポートを取得して、カバレッジ用にインストルメント化されているがまったくテストされていないアセンブリについて、カバーされていないブロックの数を自動的に表示しますか?

私はテスト カバレッジを改善したいと考えていますが、コード ベースの過去の時点で保存されたカバレッジ レポートを分析しています。したがって、各アセンブリで少なくとも 1 つのコード ブロックを実行し、テストを実行してテスト カバレッジを再計算するだけのテストを作成したくありません。これは、単純な問題のように見えるものの、かなり時間のかかる回避策です。

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

c++ - C++ アプリで参照されていないメソッドを見つける

ブロックを数回回った大きな C/C++ レガシー ソース ツリーがあります。使用されなくなったメソッドが相当数あると予想されます。未使用のコードをすばやく特定するのに役立つツールはありますか?

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

mono - Monoのコードカバレッジ?

mcs コンパイラを使用すると、mono は .mdb ファイルと呼ばれる独自のデバッグ ターゲットを作成します。

Mono で NCover または別のコード カバレッジ ツールを使用する方法はありますか?

コマンドライン ツールの方が優れているため、継続的インテグレーション サーバーに追加できます。

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

tdd - 「カバーされたコード」対「テストされたコード」?

現在のコード プロジェクトを TDD に変換していて、あることに気付きました。

このコードをテストし、十分なテストがあるかどうかを判断するためにコード カバレッジ ツールに依存する場合、2 つの危険が見られます。

  • Testイベントが発生するかどうかをテストする必要があります。これを忘れてしまうと、コード カバレッジ ツールだけではわかりません。
  • すぐに他の人に行きます。

この目的のために、スタートアップ関数にイベント ハンドラーを追加して、次のようにしました。

eventCountこれで、イベントが呼び出された場合、イベントが呼び出された回数を簡単に確認できます。かなりきれい。ここで、どのテストでも検出されない小さなバグを突き抜けました。つまり、SomeFunction()イベントを呼び出そうとする前に、イベントにハンドラーがあるかどうかをチェックしません。これにより、null 逆参照が発生しますが、デフォルトですべてのテストにイベント ハンドラーがアタッチされているため、テストによってキャッチされることはありません。ただし、コード カバレッジ ツールは依然として完全なカバレッジを報告します。

これは手元にある私の「実世界の例」にすぎませんが、コードの 100% の「カバレッジ」があっても、これらの種類のエラーの多くがすり抜けてしまう可能性があることに気付きました。 . テストを書くとき、そのようなツールによって報告されたカバレッジを一粒の塩で取る必要がありますか? これらの穴を塞ぐ他の種類のツールはありますか?

0 投票する
5 に答える
810 参照

language-agnostic - コード カバレッジを改善するために実際に使用して成功した手法は何ですか?

私は定期的に TDD を使用してライブラリの 100% のカバレッジを達成していますが、常にではありません。また、テストされておらず、カバーされていないアプリケーションの部分が残っているように常に見えます。
次に、テストがほとんどなく、カバレッジもほとんどないレガシー コードから始める場合があります。

あなたの状況と、少なくともカバレッジを改善するために何が機能したかを教えてください.
単体テスト中にカバレッジを測定していると仮定していますが、他の手法を使用しているかどうかを教えてください。

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

visual-studio-2008 - VS 2008 のコード カバレッジ ツール

私たちは VS 2008 Professional Edition での単体テストに取り組んでおり、かなり大きな障害となる可能性がある問題に遭遇しました。この特定の VS エディションでは、コード カバレッジを判断する方法がないようです。これは、VS Team System Development Edition でしか利用できないものと思われます。

つまり、VS 2008 Professional Edition では、必要なすべての単体テストを作成できますが、単体テストが関連付けられていないコード (またはテストでカバーされるコードの量) を確認する方法はありません。この観察は正しいですか?

もしそうなら、誰かがコードカバレッジを決定するためにサードパーティのツールを推奨できますか? 私は TestMatrix を試しましたが、完全に感銘を受けませんでした (設定画面は 120 DPI で [OK] ボタンと [キャンセル] ボタンを隠していました。現在の一連のテストを実行すると、完全な VS ロックアップが発生しました)。

副次的な質問: サード パーティのカバレッジ ツールの代わりに、また VS Team System Development Edition にアップグレードする代わりに、NUnit を採用して無料/低コストのコード カバレッジ ツールを見つけるほうが理にかなっていますか? 私たちはまだ単体テストに完全に取り組んでいるわけではなく、今後の努力を妨げず、銀行を壊さないテスト方法を選択したいと考えています。

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

svn - コード カバレッジと非難

コード カバレッジの結果を SCM/VCS と統合して、テストされていないコード行を開発者に帰属させるツールを見た人はいますか? たとえば、NCover の Coverage.Xml を取得し、それを SVN の責任と組み合わせて、テストされていないコードを最も多くコミットしている開発者などを教えてくれるレポートを生成するツールはありますか?