問題タブ [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.
java - Netbeans 8.1 ではテスト カバレッジが失われていますか?
私は最近Netbeans 8.1 hereをダウンロードしました
私は 2 番目のオプション「Java EE」を選択しました。
しかし、単体テストのテスト カバレッジを実行する方法が見つかりません。私はこのメニューを持っています:
Maven Web アプリケーションです。
Tools -> Pluginsに移動して「coverage」を検索すると、次のようになります。
インストールしてIDEを再起動しましたが、プラグインがインストールされていることがわかりましたが、メニューに変更はありません。Installed pluginで「coverage」を検索すると、インストールしたプラグイン以外に何も表示されません... Netbeans に実装されていると思いましたか? また、Netbeans には Maven テストのカバレッジもあると思いました...
私がインストールしたプラグイン ( TikiOne JaCoCoverage ) は、既存の Netbeans テスト カバレッジの拡張に過ぎないことを読みました。
テスト カバレッジを有効にするにはどうすればよいですか?
ありがとう。
python - C プログラムに Python インタープリターを組み込みます。Python プラグインのカバレッジを評価するにはどうすればよいですか?
Python インタープリターを組み込み、部分的に Python で記述された C プログラムがあります。C で記述されたテストがあり、実行すると Python コードが実行されます。
この設定で Python コードのテスト カバレッジを測定するにはどうすればよいですか?
c++ - gcov の行数を累積できますか? (私はLCOVを持っていません)
gcov データ ファイル (*.gcda) は、複数のテストにわたってカウントを蓄積します。それは素晴らしいことです。問題は、.gcda ファイルと同じように .gcov ファイルを蓄積する方法がわからないことです。
大規模なプロジェクト (53 ヘッダー、54 cpp) があり、いくつかのヘッダーが複数の cpp ファイルで使用されています。次の例は大幅に単純化されています。力ずくのアプローチでは、必要に応じて手動の退屈な作業に何日もかかります。
たとえばxyz.hpp
、 xyz クラスを定義しているとします。24 行build()
目では xyz データを構築するメソッドを定義し、35 行目でdata()
はデータへの参照を返すメソッドを定義しています。
テスト スイートを実行してから、 gcov on を実行するとしabc.cpp
ます。レポートには、行 24 (ビルド)のxyz.hpp.gcov
カウントが 5 で、行 35 (データ) のカウントがゼロです。ここで gcov on を実行するdef.cpp
と、xyz.hpp.gcov
レポートの 24 行目でカウントが 0 になり、35 行目でカウントが 7 になります。そのため、レポート情報を累積し、24 行目 (ビルド) でカウントが 5、行で 7 になるのではなく、 35 (データ)、毎回置換されるため、すべてのカウントがリセットされます。xyz.hpp.gcov
それがデフォルトの動作である理由は理解していますが、オーバーライドできないようです。.gcov レポートをプログラムで蓄積できない場合はxyz.hpp.gcov
、カバレッジを評価するために、手動で比較する必要があります。
LCOV はこの蓄積を行うことができるように見えますが、私の現在の職場文化では、新しいソフトウェアをインストールするには数週間かかります。
助けてくれてありがとう。
python - SWIG でコンパイルされた C++/Python コードからのテスト カバレッジ
一連の C++ 関数が Python から呼び出される従来の SWIG セットアップがあります。ここで、(Python で) いくつかのテストを追加した後、C++ ソースのテスト カバレッジを取得したいと考えています。古典的なPythonメソッドは
ただし、それはネイティブの Python モジュールでのみ機能します。mypackage.py
実際、これはSWIG によって生成されたファイルのカバレッジを返します。
C++ ファイル (/SWIG によって生成された共有ライブラリ) をカバーする必要があるため、--coverage
コンパイル フラグとリンカー フラグを追加する必要があります。そこからどこへ行くのかわかりません。
ヒントはありますか?