2011-12-16 12 views
3

私はopencoverを現在のプロジェクトに使用しています。これで私のmstestプロジェクトで作業しています。私は問題を抱えていますが、opencoverの出力xmlは同じアセンブリを2回分析しようとしているようです。また、分析の1つは0%のコードカバレッジ(間違っている)を示し、もう1つは85%(それは正しい)のようなものです。これは、単一のアセンブリを参照しているOpenCover MSTestの出力は同じアセンブリを2回分析します

"opencover.console.exe" -register:user -target:"C:\Program Files (x86)\Microsoft visual Studio 10.0\Common7\IDE\mstest.exe" -output:"C:\temp\coverage.xml" -targetargs:"/testcontainer:MyTestAssembly.dll" -filter:+[MyAssembly]MyNamespace.MyClassName 

、そのアセンブリ内の単一クラス:

マイopencoverコマンドは次のようになります。ただし、xml出力には2つのモジュールセクションがあり、同じハッシュを使用します。興味深いことに、最初のモジュールは "\ bin \ Debug \ MyAssembly.dll"フォルダ内のアセンブリを指すFullNameを持っていますが、2番目のモジュールは "C:\ temp \ TestResults ... \ Out \ MyAssembly .dll "

アイデア?

マット

答えて

8

あなたは、これがMSTESTが異なる場所に二回アセンブリを開くためですWIKI/USAGE

に記載されて-mergebyhashスイッチを使用する必要があります。元の場所に1回、次にテストフォルダに再度移動します。

このオプションは、opencoverにアセンブリをファイルハッシュで強制的に比較させ、以前読み込まれたアセンブリのシーケンスポイントの識別子を再利用するよう強制します。 PDBを見つけることができない場合は、-targetdirを使用して、それらのフォルダを指すようにする必要がありますが、通常は特別な助けを借りずにそれらを見つけます。

関連する問題