7

私は OpenCover http://nuget.org/packages/opencoverを使用しており、単体テストを実行してコード カバレッジ統計を生成するために次のバッチ ファイルを作成しました。

echo off

echo ***************************
echo *** Running NUnit tests ***
echo ***************************
"..\packages\OpenCover.4.0.804\OpenCover.Console.exe" -register:user -target:"..\NUnit 2.6\bin\nunit-console-x86.exe" -targetargs:"..\Web.UnitTests\bin\Debug\Web.UnitTests.dll"  -output:coverage.xml

echo **************************************
echo *** Generating coverage statistics ***
echo **************************************
"..\packages\ReportGenerator.1.6.0.0\ReportGenerator.exe" "-reports:coverage.xml" "-targetdir:%CD%"

echo ***********************************
echo *** Launching Internet Explorer ***
echo ***********************************
start "C:\Program Files (x86)\Internet Explorer\iexplore.exe" "%CD%\Index.htm"

pause

ただし、バッチ ファイルを実行すると、次のエラーが表示されます。

Committing...
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 ファイルは次のフォルダーにあります: "..\Web.UnitTests\bin\Debug\"

どんな助けにも感謝します、

ありがとう、

4

3 に答える 3

8

解決策が見つかりました。nunit の /noshadow スイッチがありませんでした。つまり、ターゲット引数は次のようになります。

-targetargs:"..\Web.UnitTests\bin\Debug\Web.UnitTests.dll /noshadow"

今は完璧に動作します。

于 2012-09-26T08:03:56.507 に答える
1

opencover DLL を登録します (x86 または x64 DLL を使用します)。

regsvr32 /n /i:user C:OpenCover.4.5.3723\x86\OpenCover.Profiler.dll

openCover 引数で、使用でき-register:userない場合に使用します-register:path32

于 2016-04-10T10:16:23.937 に答える
0

問題が解決したことは知っていますが、同様の問題が発生していました。私はすでに /noshadow を行っていました。

Visual Studio 2015 では、こちらで説明されているように、必ず最新バージョンの OpenCover に更新してください。- OpenCover/NUnit が PDB ファイルを見つけられない

1 時間の頭痛の種から解放されたでしょう。

于 2016-08-04T18:06:00.653 に答える