問題タブ [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.
nunit - OpenCover -register パラメータにより未処理の例外が発生する
Opencover で -register オプションを使用すると、未処理の例外が発生します
-register と -register:user を試しましたが、どちらも同じエラーが発生します。これは、Jenkins で実行した場合にのみ発生します。
-register パラメータの重要性と、これを Jenkins で機能させるにはどうすればよいかを説明できる人がいますか? ありがとう。
更新: Jenkins で -register パラメーターが機能しなかった理由はわかりませんが、Jenkins の外部でプロファイラーを登録することになり、現在は機能しています。理想的ではありませんが、少なくとも回避策があります。ただし、これに対する適切な解決策を見つけたいと思います。他の誰かがこの問題を抱えているかどうかはわかりませんが、GitHub の小さな wiki エントリの価値があるかもしれません。
cruisecontrol.net - OpenCoverレポートをCruiseControl.NETで利用できるようにする
OpenCoverをCruiseControl.NETと統合しようとしています。この時点で、ビルドシステムによって変更したので、OpenCoverでnunitテストが実行されます。次に、 ReportGeneratorを使用しているレポートからXmlレポートとHtmlレポートを生成します。
ReportGeneratorによって生成されたレポートをCruiseControl.NETWebアプリに統合できると仮定すると、2つを統合するにはどうすればよいですか?
NCoverには、使用できる独自のNCoverReportingタスクがありますが、NCoverを実行していないため、その出力をOpenCoverによって生成されたXMLレポートと比較できません。
関連する考え/質問:
- OpenCoverはデフォルトでXMLファイルを生成しますが、そのXMLファイルはcc.netで使用できますか?
- ReportGeneratorもXMLを生成しますが、それらはcc.netのようなものを対象としていますか?
- cc.netには、ログをマージするFile-Mergeパブリッシャーがありますが、cc.netでどのファイル形式が有用/使用されているかを示すドキュメントはまだ見つかりません。
unit-testing - これらのコード例の完全なOpenCoverブランチカバレッジを取得するにはどうすればよいですか?
次の2つの(無関係な)メソッドをテストし、OpenCover2.0.802.1を使用して完全なブランチとステートメントのカバレッジを実現したいと思います。
次の(NUnit)テストを作成しました。1つは「Moq」モックオブジェクトを使用しています。
ただし、OpenCoverを介してテストを実行した後、coverage.xml
ファイルには常に、両方のテストの訪問数がゼロの分岐点が含まれます。シーケンスカバレッジは100%を示しています。
ILの専門家ではないので、ブランチカバレッジを100%にするために、さらにテストを作成する方法がわかりません。
mstest - MSTest を使用した OpenCover 出力は、同じアセンブリを 2 回分析します
現在のプロジェクトで初めて opencover を使用してみましたが、mstest プロジェクトで動作するようになりました。ただし、opencover 出力 xml が同じアセンブリを 2 回分析しようとしているように見えるという問題があります。また、分析の 1 つが 0% のコード カバレッジ (これは間違っています) を示しているのに対し、もう 1 つの分析は 85% に近い (これは正しい) ことも注目に値します。
私の opencover コマンドは次のようになります。
これは、単一のアセンブリと、そのアセンブリ内の単一のクラスを参照しています。ただし、xml 出力には、同じハッシュを持つ 2 つのモジュール セクションがあります。興味深いことに、最初のモジュールには "\bin\Debug\MyAssembly.dll" フォルダー内のアセンブリを指す FullName があり、2 番目のモジュールは "C:\temp\TestResults...\Out\MyAssembly" 内の出力アセンブリを指しています。 .dll".
何か案は?
マット
code-coverage - OpenCover で関数を呼び出してコード カバレッジをフィルタリングする
MsTest 用に作成された統合テストがいくつかあります。統合テストの構造は次のとおりです。
誰がそれを呼び出しているかによって、関数のコード カバレッジ結果をフィルター処理する必要があります。つまり、関数が「When」という名前の関数から呼び出された場合、または特定の属性が適用された関数から呼び出された場合にのみ、カバレッジが考慮されるようにします。
これで、システム内の特定のメソッドが一部のテストの EstablishContext 部分で呼び出された場合でも、そのメソッドはアクセス済みとしてマークされます。
これにはフィルターはないと思います。OpenCover は...まあ..オープンなので、自分で変更したいと思います。しかし、どこから始めればよいか本当にわかりません。誰かが私を正しい方向に向けることができますか?
continuous-integration - OpenCover からコード カバレッジのパーセンテージを取得できますか
CI ビルド プロセスの一環として、OpenCover (および ReportGenerator) を使用してコード カバレッジを調べています。
カバレッジが特定のしきい値を満たさない場合、OpenCover がビルドに失敗する可能性はありますか?
私は周りを見回しましたが、これを達成する方法が見つかりません。生成されたレポートを確認できますか?
編集: 申し訳ありませんが、私は Nant ビルド スクリプトを使用していることを言及する必要がありました。
.net - OpenCoverでサービスに接続するにはどうすればよいですか?
コードカバレッジテストの一環として、いくつかのサービスをテストする必要があります。OpenCover githubは、これを実行する機能について言及していますが(問題#36)、その方法については説明していません。ウィキの「使用法」ページには、これについては何も記載されていません。スイッチの機能、正確な使用方法の説明なしopencover -?
で、スイッチについての言及が表示されます。-service
このスイッチがどのように機能し、どのようにサービスに接続できるかを誰かに教えてもらえますか?
mstest - mstestでカバーされた0行を示すOpenCover
「ここに出力があります...」
これは私が使用したコマンドです
(私はプロファイルを登録するためにzippy32を試しましたが、XPを使用しています)
実際、私はNunit、mstest、opencoverageの初心者であり、 http: //www.nunit.org/index.php?p=でサンプルの単体テストケースを見つけました。 quickStart&r = 2.4なので、
**Nunitテストクラスは次のとおりです**
上記のクラスはNunitとOpencoverageでも正常に機能し、正確なデータを表示しますが、mstest固有の属性を置き換えた後の同じクラスは機能しなかったため、この質問を投稿した後、このメソッドは静的である必要があり、TestContext引数を追加する必要があると考えました。そのため、以下のようにコードを変更し(太字で)、上記のコマンドは正常に機能しました。
MSTestクラス
.net - OpenCover 内で NUnit テストが失敗する
私のテストは、NUnit で直接実行すると問題なく動作しますが、OpenCover (テスト ランナーとして NUnit を使用) を介して実行すると、次のエラーが発生します。
エラー 2 は、すべてのテストで繰り返されます。すべてのテストは合格するはずです (そして NUnit で合格します)。カバレッジは NCover で正しく動作していましたが、試用期間が終了し、ライセンスを購入する余裕がありません。
ご協力いただきありがとうございます!