2009-09-03 7 views
0

COM/DCOMオブジェクト用の.NETランタイム呼び出し可能ラッパーを含む.DLLがあります。VS2008のコードカバレッジ.netランタイム呼び出し可能ラッパー

上記の.DLLにあるサーバー機能を呼び出すVS 2008のC#でテストスイートを作成しました。

コードカバレッジが有効になり、テストスイートが実行されたとき、コードカバレッジテストの結果は統計を生成せず、非対象ブロックと対象ブロックの両方でゼロを表示しました。

誰もがそのようになる理由を知っていますか?

誰でも.netの呼び出し可能なラッパーである.dllのコードカバレッジを取得する方法を知っていますか?

答えて

0

使用しているコードカバレッジエンジンがどのように機能しているかはわかりませんが、通常はが管理しているコードが実行されたことを知るためにプロファイリングAPI +リフレクションを使用します。

私はRCWが主にネイティブコードであると考えています。管理対象オブジェクトとそれらのネイティブCOMカウンターパートの間のブリッジです。

生成されたinteropアセンブリ(COMオブジェクトのRCWをホストする)で.NET Reflectorを実行し、実際に含まれている管理コードの量を確認することで確認できます。

しかし、interopの境界を過ぎると、すべてが失われてしまい、管理対象領域にいなくなります。その側から統計を収集するには、ネイティブのカバレッジ・ツールが必要です。

関連する問題