1

モルと NUnit をランナーとして NCover からカバレッジを生成しようとしましたが、カバレッジは 0% です

Moles/Pex と NUnit を使用して NCover 1.5.8 で投稿を試みました

https://stackoverflow.com/questions/8385592/how-to-integrate-ncover-moles-mstest-to-get-the-coverage

Moles を使用したテストのコード カバレッジ情報がない

私が推測する問題は、必要な CLSID を取得できないことです。正しいCLSIDを取得する方法と何??

Moles はまだ NCover と互換性がありませんか?

4

1 に答える 1

1

Moles は、VS テストの影響 (コード カバレッジ) 分析が有効になっていると機能しません。
Moles も NCover と互換性がないことは確かです。

コード カバレッジを分析するには、ターゲット コードをインストルメント化する必要があります。インストルメンテーションは、基本的に、開発者が記述したすべてのコード行の前に、カバレッジ アナライザーへのインデックス付き呼び出しを挿入するコンパイラ プロセスです。

インデックスがアナライザーに報告されると、そのコード行は対象としてマークされます。使用する分析ツールによっては、複雑な論理評価を基本コンポーネントに分解して、その部分を確実にカバーすることができます。

Moles が導入されると、この方法論は崩壊します。
Moles は、基本的に、ターゲット アセンブリが CLR に準拠した後にメソッド呼び出しを再配線します。

したがって、テスト対象のコードの一部がデリゲートに迂回されるため、コード カバレッジ インストルメンテーションは誤った結果を報告します。コード カバレッジは、迂回路をたどるとインストルメンテーション フォールがスキップされるため、はるかに低い誤ったカバレッジ率を報告します。

于 2012-08-13T15:11:21.120 に答える