問題タブ [opencover]
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.
mstest - ReportGenerator の Total 行は何を構成しますか?
ReportGeneratorと を使用して生成された XML 出力の詳細を表示するために、オープンソース ツールを使用OpenCoverしていmstestます。ある特定のプロジェクトについて、次の指標が表示されます。
- カバーされた行: 3611
- 発見された行: 3587
- カバー可能回線:7198回線
- 総行数: 35609
わかりました、Covered + Uncovered = Coverable linesこれは理にかなっています。しかしTotal lines、 はこの値を大幅に上回っており、これらすべての追加コード行を構成または定義するものを知りたいと考えていTotal linesます。
のドキュメントReportGeneratorはせいぜいまばらですが、コメント、空白、usingステートメント(名前空間をインポートするための)、メソッドの宣言、クラスなど、テストできないものが含まれていると思います。しかし、よくわかりません。このツールを多くのプロジェクトで使用する予定であり、この数値の背後にあるものを説明できるようにする必要があります。
Total linesテスト可能な行の合計を超えて、値が何で構成されているかを知っている、または説明できる人はいますか?
nunit - テストは Gallio で失敗するが、nunit-console.exe で合格する
プロジェクトにソナー分析を使用しています。Gallio で実行するとテストでエラーが発生するため、コード カバレッジを取得できません。
nunit-console.exe で同じ単体テストを実行すると、すべて合格します。(私はcmdの管理者モードでこれを実行しています)
しかし、ガリオで実行すると失敗します。以前にこの問題が発生した人はいますか?
これは、ソナーガリオで実行したときに得られるものです。
03:51:30.754 情報 - 101 実行、7 成功、94 失敗 (94 エラー)、0 未確定、0 スキップ 03:51:30.754 情報 - 03:51:30.910 情報 - コミット中... 03:51:31.238 情報 -訪問したクラス 11/20 (55) 03:51:31.238 情報 - 訪問したメソッド 16/80 (20) 03:51:31.238 情報 - 訪問したポイント 66/519 (12.7167630057803) 03:51:31.238 情報 - 訪問したブランチ 7/122 (5.73770491803279) 03:51:31.238 INFO - 03:51:31.238 INFO - ==== 代替結果 (対応するソースがないものを含むすべてのメソッドを含む) ==== 03:51:31.238 INFO - 代替訪問クラス 11/25 (44) 03:51:31.238 情報 - 166 の 23 (13.855421686747) 03:51:31.488 情報 - センサー org.sonar.plugins.csharp.gallio.GallioSensor@964f8e 完了: 22314 ミリ秒 03:51:31.488 - センサー ProfileSensor... 03:51:32.145 情報 - センサー ProfileSensor 完了: 657 ミリ秒 03:51:32.145 情報 - センサー ProfileEventsSensor... 03:51:32.160 情報 - センサー ProfileEventsSensor 完了: 15 ミリ秒 03:51:32.160 情報 - センサー ProjectLinksSensor... 03:51:32.160 情報 - センサー ProjectLinksSensor 完了: 0 ミリ秒 03:51: 32.160 情報 - センサー VersionEventsSensor... 03:51:32.176 情報 - センサー VersionEventsSensor 完了: 16 ミリ秒 03:51:32.176 情報 - センサー org.sonar.plugins.csharp.gallio.TestReportSensor@412739... 03:51:32.957情報 - センサー org.sonar.plugins.csharp.gallio.TestReportSensor@412739 完了: 781 ミリ秒 03:51:33.410 情報 - デコレータを実行します...176 情報 - センサー VersionEventsSensor 完了: 16 ミリ秒 03:51:32.176 情報 - センサー org.sonar.plugins.csharp.gallio.TestReportSensor@412739... 03:51:32.957 情報 - センサー org.sonar.plugins.csharp.gallio .TestReportSensor@412739 完了: 781 ミリ秒 03:51:33.410 情報 - デコレータを実行します...176 情報 - センサー VersionEventsSensor 完了: 16 ミリ秒 03:51:32.176 情報 - センサー org.sonar.plugins.csharp.gallio.TestReportSensor@412739... 03:51:32.957 情報 - センサー org.sonar.plugins.csharp.gallio .TestReportSensor@412739 完了: 781 ミリ秒 03:51:33.410 情報 - デコレータを実行します...
コマンドラインからNunit-console.exeで実行すると。同じ結果が得られます。しかし、コマンドラインからADMINISTRATORとしてNunit-console.exeで実行すると。次の出力が得られます。
テスト実行: 101、エラー: 0、失敗: 0、決定的でない: 0、時間: 27.3760719 秒 実行されていない: 0、無効: 0、無視: 0、スキップ: 0
したがって、Sonar から管理者としてこれらのテストを実行する必要があると思います。それ、どうやったら出来るの?
また、これらのテストを (gallio) Icarus GUI Test Runner から ADMINISTRATOR として実行しようとしたところ、すべて合格しました。通常モードで実行すると、合格しません。
code-coverage - NuGet を介したソリューション固有の OpenCover インスタンスの予想される使用モデルは何ですか?
NuGet を介して OpenCover をソリューションにインストールすると、たとえば、packages\OpenCover.4.5.1604 フォルダーの下に期待されるファイルが取得されます。ただし、OpenCover のプロファイラーが正しく機能するには、COM 登録が必要です。-registerコマンドを使用してこれらのランタイム登録を行うことが可能であることは認識していますが、複数のソリューションを備えたマシン上で、異なるバージョンの OpenCover がインストールされている可能性があります (また、それらを同時に実行している可能性があります。たとえば、ビルド)サーバー)、これは問題があるようです。
作成者自身からのこのSOの回答は、プロファイラーを一度登録するために個別に呼び出すことregsvr32がビルドサーバーで望ましいことを示しており、それは理にかなっています。しかし、OpenCover が NuGet を介して (ソリューションに) プルダウンされた状況では、適切なビルド サーバー ソリューションはありますか? それとも、NuGet は単にファイルを取得するための便利な方法ですが、ソリューション固有のバージョンから実行しようとするのではなく、実際には中央の場所にコピーしてから登録する必要がありますか?
visual-studio-2008 - OpenCover と GoogleTest - PDB がないことを訴える
私が現在取り組んでいるビルドは、コンパイルに 32 ビット環境で Visual Studio 2008 (Professional) を使用しています。Google Test Framework を使用して単体テストを作成しています。OpenCover を使用してコード カバレッジを報告しようとしていますが、返されます。
テスト実行可能ファイルは、コンソールに結果が表示されるのを見て実行されました。PDB は、Google Test Executable と同じディレクトリにあります。私が使用したコマンド:
注:ディレクトリと実行可能ファイルにはスペースが含まれていないため、引用を省略しましたが、使用しても使用しなくても試してみましたが、結果は同じです
私が試したこと:
- OpenCover.Profile.dll を明示的に登録しました
- -register:user 引数を使用しました
- -targetargs:"/noshadow" (およびノイズ分離) を使用しようとしましたが、これは MSTest と NUnit に固有のものであり、GoogleTest には固有のものではないと思います
- targetdir パラメータを省略してみました
- VS 2010 再配布をインストールしました
それらはすべて同じ結果になります。インストールに付属のサンプルを実行できます。
Google Testing Framework と OpenCover の統合に成功した人はいますか? または、プロジェクトに特定のコンパイル設定がありますか? (プロファイリングのオン/オフを切り替えましたが、違いはありませんでした)
ありがとう!
mstest - -register:user が設定されている場合、OpenCover のすべての mstest が失敗する
opencover を使用しようとしているときに何が間違っているのかわかりません。実行可能なコンソール アプリに対して実行することでレポートを生成できますが、実際のテスト コードに対して実行しようとすると、うまくいきません。システム パスに mstest と opencover を追加しました。
ライブラリ コード:
テストコード:
「-register:user」フラグを使用すると、何らかの理由でテストが失敗します。
「-register:user」がないと、アセンブリがインストルメント化されていないことがわかります。
Mtest は次のディレクトリから正常に実行されます。
私の頭は、ここで壁にぶつけられることにうんざりしています。
tfs - OpenCover と TFS の統合
私は TFS を初めて使用し、OpenCover を TFS と統合したいと考えています。誰かがこれを行った場合は、助けてください!
unit-testing - OpenCover の結果が TFS 番号と一致しない
VS 2008 プロジェクト (asp.net) があります。TFS の下にあります。モック フレームワーク (nunit?) を使用して単体テストを作成しました。開発者は自分のマシンでテストを実行し、コード カバレッジを表示できます。
これで、ソリューションを VS 2012 プロフェッショナルにアップグレードしました。プロフェッショナル版であるため、コード カバレッジの実行をサポートしていないため、あえて OpenCover を試してみました。
問題は、TFS 経由のビルドでは、コード解析ではコード カバレッジが 24% と表示されますが、OpenCover を開発者のマシンでローカルに実行すると、まったく異なる数値が表示されることです。TFS が報告する内容は、自動化された ALM コンプライアンス エンジンまたは組織によって監視されているため、目標とする必要があり、開発者は、TFS コード カバレッジ % が X を下回らないことに注意する必要があります。
私のOpenCover synatxは次のとおりです。
TFS と OpenCover からの私の出力は次のとおりです。


TFS と同様の統計情報を opencover レポートに作成するにはどうすればよいですか?