問題タブ [test-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.
c++ - ネイティブ C++ 用の Visual Studio 2013 Professional によるコード カバレッジ レポート
Visual Studio 2013 Professional で C++ 単体テスト フレームワークを使用すると、単体テストを記述して IDE 内から実行できますが、カバレッジ レポートを生成するには、Visual Studio の Premium または Ultimate エディションが必要なようです。
できればサードパーティのツールをインストールせずに、Professional エディションでコード カバレッジ レポートを取得することはできますか? そうでない場合、IDE のより高価なエディションを使用していない人のために、どのような代替オプションがありますか?
コマンド ライン ツールを使用してカバレッジ データを生成することは可能ですが、結果を確認する方法が見つからないことに注意してください。参考までに、コマンド ラインでカバレッジ統計を生成する手順を次に示します。
/PROFILE
リンカー スイッチを使用してテストするコードをビルドする- 実行
vsinstr /coverage <binaryName>
してコードを計測します。VS 2013 コマンド プロンプト内にいることを確認します。 - 実行
start vsperfmon -coverage -output:results
してプロファイラーを実行します - 単体テストを実行する
- 実行してプロファイラーを停止します
vsperfcmd -shutdown
上記はresults.coverageファイルを提供しますが、私の知る限り、PremiumまたはUltimateエディションなしでは表示できません.
php - Behat による動作テストのカバレッジ
PHP で Behat を使用して動作のテスト カバレッジを概算したいと考えています。
明らかに、コード カバレッジとは異なり、ビヘイビア カバレッジは正確に定量化できませんが、最初から対応する予定のビヘイビアを知ることができます。たとえば、ユーザーが 1) 製品を購入し、2) 製品にコメントできることがわかっている場合があります。このために、2 つの BDD テストを作成する必要があります。
まず、プレースホルダーを作成し、標準の @wip タグを使用して、各テストを進行中としてマークすることができます。
関連する質問が 2 つあります。
シナリオの総数、および特定のタグ (つまり @wip) を持つシナリオの総数に関する Behat レポートを作成することは可能ですか?
フィルター「~@wip」を使用してそれらのテストを無視したとしても、Behat がそのカウントを知ることは可能ですか?
grails - Grails を使用してテスト カバレッジを取得する方法は?
Grails アプリケーションでテスト カバレッジを見つけるための Grails の方法があるのだろうか?
私のアプリは、Intelli-J とスポック テストを使用して構築されています。
いくつかのグラフを表示する方法もあれば、それは素晴らしいことです!
java - IntelliJ IDEA のカバレッジ測定からソースコードを除外する方法は?
プロジェクトには、次のようなユーティリティ クラスがあります。
このクラスは、メソッドのみstatic
を含むという意味でユーティリティ クラスです。したがって、それは宣言されfinal
、そのコンストラクターはprivate
です。インスタンスを作成したり、サブクラスを派生させたりしても、まったく意味がありません。
プロジェクトをテストする一連の単体テストがあります。IntelliJ IDEAを使用してテストを実行し、コード カバレッジを測定して視覚化しています。Utility のコンストラクターは、class Util
カバレッジを下げるようになりました。100% の論理カバレッジで 100% を見たいと思います。Utility クラスのプライベート コンストラクターのようなコードは、カバレッジを低下させます。
そのようなコードをカバレッジ レポートから除外して 100% のカバレッジを表示するために、できれば注釈を使用して、メソッドまたはコンストラクターをコード カバレッジに関連しないものとしてマークする可能性はありますか?
一般に、カバレッジ レポートからコードを非表示にすることは、あなた自身の不利益になることを知っています。レポートに「無視されたアイテム」のリストが含まれていてもかまいません。実際には、誰かが無視してはならないものを無視しているかどうかを確認するのに適しています。要点は、Utility クラスのプライベート コンストラクターのように、カバレッジが意味をなさないコードについてです。
annotations.jar
候補が含まれているかどうかを調べてみました。遠くからでもそれができるかのように見える唯一の注釈は でしたがTestOnly
、それはこの目的を果たしません。私も覗いてみたplugins/coverage/lib/*.jar
のですが、候補が見つからなかったのですが、もしかしたら見落としていたのでしょうか?
更新 この質問は現在廃止されています。一方、IntelliJ IDEA と Jacoco は、呼び出し元を持たないプライベート コンストラクターのカバレッジを無視する方法を学びました。カバレッジ レポートから除外するための会話を引き起こす Java の意図的に到達不能なコードの例を他に知りません。
更新 2 この質問は、Java レコード クラスのアクセサーに関連するものになる可能性があります。
api - Sonarqube API 単一クラスのテスト カバレッジ
SonarQube API (Sonar バージョン 4.1.2) を使用して、個々のクラスの単体テスト コード カバレッジを取得しようとしています。すべてが正常に機能しており、ソナー ダッシュボードに直接移動してクラスの [カバレッジ] タブに移動すると、メトリクスが正常であることを確認できます。
ソナーAPIインターフェースを介してこの同じ/類似の情報を取得するための正しい呼び出しを誰か教えてもらえますか? 私はすでにhttp://docs.sonarqube.org/display/SONAR/Metric+definitionsのドキュメントを見て、プロジェクト レベルでテスト カバレッジ メトリックを取得できますが、クエリを作成する方法がわかりません。個々のクラス。
intellij-idea - IntelliJ - テスト カバレッジ レポートから一部のクラス (パッケージ) を除外する
現在、Play フレームワークで Java を使用しています。JUnit テストがあり、IntelliJ カバレッジ ランナーでカバレッジを測定しようとしています。
残念ながら、Play はいくつかの不要なクラスを生成し、IntelliJ はそれらをレポートに含めます。カバレッジ レポートから特定のパターンを除外する方法はありますか?
ant - テスト カバレッジが表示されていても、ソナーにユニット テストの統計情報が表示されない
ビルドプロセスにはantを使用しています。プロジェクトのテストカバレッジを取得したかったのです。そこで、jacoco をソナーと統合して、テスト カバレッジを実行しました。テスト カバレッジは正しく表示されますが、単体テスト統計はまったく表示されません。
さまざまなフォーラムを検索した結果、sonar.tests/sonar.binaries/sonar.junit.reportsPath 構成に関連している可能性があることがわかりました。
しかし、これらすべての変更を行った後でも、Sonar で単体テストの統計を確認することはできません。
私たちは、
Sonar Qube 4.5.2 Sonar Ant 2.2 Jacoco 0.7.2.201409121644
手伝ってください。
-build.xml
java - 支店のカバー率とラインのカバー率が低いのはなぜですか?
次のコードを検討してください。
これは方法です:
行を as に変更し、最初のテストのif (Math.abs(smu) <= 0.01)
ようにテスト クラスを変更するとboolean expectedResult = true;
、maven が正常にビルドされます。しかし、上記のコードでビルドしようとすると、maven は次のようなエラーをスローします。
[ERROR] *className failed check. Branch coverage rate of 95.8% is below 100.0%
*className failed check. Line coverage rate of 97.8% is below 100.0%