2017-06-19 6 views
0

いくつかのSpecFlowテストでVS 2017 Enterpriseのコードカバレッジを取得しようとしています。テストの目的は、COMサービスに接続し、公開されているすべてのAPIを使用することです。COM APIのC#コードカバレッジ

「コードカバレッジの分析」を実行すると結果が出ますが、結果には、SpecFlowステートメントがテストコードと相関する箇所だけが表示されます。私が望むのは、最小限で、エクスポーズされたAPI呼び出しの何%がテストで実行されているかです。

この詳細レベルを取得する方法はありますか? COMサービスはC++で書かれ、テストはC#で書かれています。それが実際に違いを生むかどうかはわかりません。

答えて

0

.NETランタイムからCOMを呼び出す場合は、実現するかどうかにかかわらず、Runtime-Callable Wrapper (RCW)を使用しています。

create an RCWにはいくつかの方法があります。 1つの方法は、ビジュアルスタジオで参照を追加することによってそれを暗黙的に作成することです。別の方法は、use Tlbimp.exeにラッパーを含む.NETアセンブリを作成することです。後者の方法を使用し、コード・カバレッジ統計をラッパー・コードに集中させることをお勧めします。ラッパーで高いコードカバレッジレベルを達成した場合は、基礎となるCOMオブジェクトのメソッドの高い割合を呼び出していることを意味します。

+0

ありがとう、私はそれを試してみます。 –

関連する問題