0

PartCover ソース コードを変更して、メソッドによるカバレッジを除外しようとしています。ただし、主なロジックは C++ コードにあるようです。デバッグ中に cpp コードにステップ インすることはできないため、どのファイルを変更する必要があるか教えてもらえますか? rules.cpp と instrumentator.cpp である必要があると考えています...これらの変更により、他の .cpp .h および .cs ファイルでいくつかのリファクタリングが必要です。しかし、私が間違っている場合、または他にも見るべき場所がある場合は、お知らせください。続行するための他のヒントもいただければ幸いです。

ありがとう、


お返事をありがとうございます。ただし、DebugBreak のコメントを外すと、nunit-console-86.exe の動作が停止します。NUnit のバージョンを 2.5.7 に変更して、PartCover の bin フォルダー内の nunit-framework.dll のバージョンと一致させましたが、問題は解決していません。何がこれを引き起こしているのでしょうか?

カバレッジ チェック メソッドを賢く実行する独自のコンソール アプリがあります。新しいメソッドが追加された場合、または既存のメソッドのコードがリファクタリングされた場合でも、カバレッジは少なくとも決定されたパーセンテージを超える必要があります。何らかの理由でテストを完全に実行できないメソッドが存在する場合があります。それらの場合、クラス全体を除外しても意味がありません。

4

1 に答える 1

0

あなたが言及したファイルは、おそらく C++ コード内で追加のフィルターを適用するのに最適な場所です。モジュールとクラスの包含フィルターと除外フィルターに現在使用されている構文を拡張する方法があると思います。

CorProfiler::Initialize で DebugBreak のコメントを外すと、コードをデバッグできます (.NET プロセスが実行され、プロファイラーが読み込まれると、C++ デバッガーをプロファイラーにアタッチできるようになります)。

特定のメソッドを除外する必要がある理由をお尋ねしてもよろしいですか? クラス、つまりテストクラスなどを除外する必要があることがわかりますが、特定のメソッドは除外しません。これは、必要に応じて、レポートの結果を無視するだけで簡単に実行できるように思えます。

于 2011-07-21T09:46:52.490 に答える