2012-09-25 14 views
6

que estoy usando OpenCover http://nuget.org/packages/opencover y he escrito el siguiente archivo por lotes para ejecutar las pruebas unitarias y generar estadísticas de cobertura de código:OpenCover/NUnit no puede encontrar archivos PDB

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 

Sin embargo, cuando ejecuto el archivo por lotes Me sale el error:

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) 

Bastante seguro de que he hecho algo tonto/falta algo obvio, pero no estoy seguro de qué!

Los archivos PDB se encuentran en la carpeta: ".. \ Web.UnitTests \ bin \ Debug \"

agradecería cualquier ayuda,

Gracias,

Respuesta

8

encontrado una solución, que me estaba perdiendo el interruptor/noshadow para nunit. Es decir. el objetivo args debe ser:

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

Funciona perfectamente ahora.

+0

Gracias, esto ayudó. – JoshGough

+0

Esto también me ayudó, ¡gracias! – willem

0

registrar la DLL opencover (utilizar la DLL x86 o x64):

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

En los argumentos openCover, utilice -register:user si no funciona el uso -register:path32.

0

Sé que tu problema está resuelto, pero tuve un problema similar para ti. Ya había hecho lo de/noshadow.

Con Visual Studio 2015, asegúrese de actualizar a la última versión de OpenCover como se explica aquí. - OpenCover/NUnit can't find PDB files

Me habría ahorrado una hora de dolores de cabeza.

Cuestiones relacionadas