2012-09-25 19 views
6

sto usando OpenCover http://nuget.org/packages/opencover e ho scritto il seguente file batch per eseguire i test di unità e generare statistiche copertura del codice:OpenCover/NUnit non riesce a trovare i file 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 

Tuttavia quando si esegue il file batch Ho ricevuto l'errore:

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) 

Abbastanza sicuro di aver fatto qualcosa di sciocco/mancante qualcosa di ovvio, ma non so cosa!

I file PDB sono nella cartella: ".. \ Web.UnitTests \ bin \ Debug \"

Apprezzare tutto l'aiuto,

Grazie,

risposta

8

trovato una soluzione, mi mancava l'interruttore/noshadow per nunit. Cioè gli argomenti di destinazione dovrebbero essere:

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

Funziona perfettamente ora.

+0

Grazie, questo ha aiutato. – JoshGough

+0

Anche questo mi ha aiutato, grazie! – willem

0

registrare la DLL opencover (utilizzare la DLL x86 o x64):

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

Negli args openCover, utilizzare -register:user se non funziona uso -register:path32.

0

So che il problema è risolto, ma ho riscontrato un problema simile a voi. Avevo già fatto la cosa/noshadow.

Con Visual Studio 2015, assicurarsi di aggiornare all'ultima versione di OpenCover come spiegato qui. - OpenCover/NUnit can't find PDB files

Mi avrebbe risparmiato un'ora di mal di testa.

Problemi correlati