私が現在取り組んでいるビルドは、コンパイルに 32 ビット環境で Visual Studio 2008 (Professional) を使用しています。Google Test Framework を使用して単体テストを作成しています。OpenCover を使用してコード カバレッジを報告しようとしていますが、返されます。
"no results - no assemblies that matched the supplied filter were instrumented. this could be due to missing PDBs for the assemblies that match the filter. please review the output file and refer to the Usage guide (Usage.rtf)"
テスト実行可能ファイルは、コンソールに結果が表示されるのを見て実行されました。PDB は、Google Test Executable と同じディレクトリにあります。私が使用したコマンド:
OpenCover.Console.exe -target:<Full Path Unit Test Executable> -targetdir:<Directory of the exeutable which also includes the PDB> -output:cover.xml
注:ディレクトリと実行可能ファイルにはスペースが含まれていないため、引用を省略しましたが、使用しても使用しなくても試してみましたが、結果は同じです
私が試したこと:
- OpenCover.Profile.dll を明示的に登録しました
- -register:user 引数を使用しました
- -targetargs:"/noshadow" (およびノイズ分離) を使用しようとしましたが、これは MSTest と NUnit に固有のものであり、GoogleTest には固有のものではないと思います
- targetdir パラメータを省略してみました
- VS 2010 再配布をインストールしました
それらはすべて同じ結果になります。インストールに付属のサンプルを実行できます。
Google Testing Framework と OpenCover の統合に成功した人はいますか? または、プロジェクトに特定のコンパイル設定がありますか? (プロファイリングのオン/オフを切り替えましたが、違いはありませんでした)
ありがとう!