3

.NET API を提供する Revit Architecture 用のプラグイン モジュールを作成しています。基本的に、特定のインターフェイスを実装するクラスでアセンブリを作成します。次に、Revit はアセンブリをロードし、インターフェースを呼び出します。

プラグイン コードの進行中のコード カバレッジ メトリックを取得できるようにしたいと考えていますが、この場合、ホスト Revit アプリケーション( Revit.exe) は Windows ネイティブ アプリケーションであり、マネージド アプリケーションではありません。NCover のドキュメントには、対象となるプロセスがネイティブ アプリケーション プロセスである場合、NCover は機能しないことが明確に記載されています。他のツールで使用されるインストルメンテーション手法は似ているため、機能しない根本的な原因は同じであると想定しています。

上記のツールのいずれかにこのケースの回避策があるかどうか、または使用できる別のコード カバレッジ ツールまたは手法があるかどうかを知りたいです。ティア。

4

2 に答える 2

0

NCover、PartCover、およびdotCoverは.NETカバレッジツールであり、ILをインストルメント化することによってこれを行います(PartCoverおよびNCoverは、ICorProfilerCallbackインターフェイスおよびJITCompilationStartedイベントなどを使用してこれを行います)。ネイティブコードを処理します(実際にはネイティブコードで記述されていますが)。

dotCoverがどのように機能するかを知ることはできません。

ネイティブアプリケーションのカバレッジを取得することを検討している場合は、CoverageValidatorなどのツールを検討します

于 2011-06-21T06:02:29.793 に答える
0

私たちのC# テスト カバレッジ ツールは、これに対して機能するはずです。

ソースコードをインストルメント化することで機能します。インストルメント化されたソース コードを実行します (従来のコンパイル アンド ラン手法を含む任意の方法で)。したがって、コードがどのように実行されるかは気にせず、何らかの方法で実行されるだけです。インストルメンテーション データは追加されたクラスで収集され、そのデータがエクスポートされる方法とタイミングを完全に制御できるため、任意の環境からエクスポートできます。

于 2011-05-11T04:41:55.290 に答える