2013-05-12 12 views
6

Ho una semplice applicazione ASP.Net MVC 4 con 3 semplici test.Problema con la copertura del codice in VS 2012

Ognuna di queste prove vengono completate correttamente a compimento, ma la finestra Code Coverage mi dà il seguente errore:

Empty results generated: No binaries were instrumented. Make sure the tests ran, required binaries were loaded, had matching symbol files, and were not excluded through custom settings. For more information see http://go.microsoft.com/fwlink/?LinkID=253731

Ho fatto qualche ricerca ma niente ha risolto il mio problema fino ad oggi.

  • So che il test eseguito
  • Ho file PDB nella stessa posizione come la mia dll
  • non mi optimsing dal codice
  • Non riesco a trovare qualsiasi file .testsettings
  • I Ho anche eseguito il mio VS 2012 Ultimate come amministratore, ma senza fortuna.

Se trovo il file .coverage, tutto ciò che ha a che è:

PCHÿ 

Non il XMLs risultati o messaggio di errore che mi aspetto.

+0

ho avuto questo problema, nel mio caso è stato risolto quando ho eseguito Visual Studio come amministratore – lmcarreiro

risposta

5

Mi rendo conto che questo ha più di un anno. Tuttavia ho appena incontrato esattamente lo stesso problema, anche nel testo "PCH" nel file .coverage e non ho trovato nessuna soluzione fino a ora. Ma sicuramente qualcun altro ha avuto il problema anche così, nel caso, ecco la soluzione semplice:

Dopo aver controllato questo MSDN link e seguendo il suo consiglio avevo ancora lo stesso problema. Quindi, alla fine, ho chiuso VS, sono andato alla directory root solution e cancellato il file .suo. Ha l'attributo nascosto impostato in modo che potrebbe essere necessario impostare explorer per mostrare i file nascosti.

Riavviare VS ed eseguire nuovamente i test di copertura del codice. Tutto bene.

+0

Ciao Shunty.Questo problema esiste ancora. Ho trovato altrove menzione di rimuovere il file .suo e riavviare VS 2012, ma ancora senza fortuna. Ho anche rimosso l'intera cartella TestResults e ho provato di nuovo, senza fortuna. – brettc4

+0

Non ho avuto il problema da allora, quindi non posso dare molto più aiuto. Ma, forse, se il tuo codice è sotto controllo del codice sorgente potresti provare a controllarlo in una nuova posizione e costruirlo/provarlo da lì e vedere cosa succede. Sono sicuro che deve avere a che fare con uno dei file temporanei/locali che VS gestisce e che non dovrebbe entrare nel controllo del codice sorgente in modo che funzioni. – shunty

4

Se non si riesce a far funzionare la copertura del codice anche dopo aver eliminato il file * .suo, controllare il Visualizzatore eventi per errori. Nel mio caso, dopo ogni esecuzione che ho avuto il seguente errore:

"TraceLog Profiler fallito in inizializzazione a causa della mancanza di metodi di strumentazione, di processo vstest.executionengine.x86.exe"

ho trovato la risposta here.

Nel caso in cui il link non è più disponibile, sto incollando il contenuto qui:

If you find yourself with a an empty .coverage file and see errors similar to the below in your event logs you most probably have a corrupt install

(info) .NET Runtime version 4.0.30319.17929 - The profiler has requested that the CLR instance not load the profiler into this process. Profiler CLSID: '{b19f184a-cc62-4137-9a6f-af0f91730165}'. Process ID (decimal): 12624. Message ID: [0x2516].

(Error) TraceLog Profiler failed in initialization due to a lack of instrumentation methods, process vstest.executionengine.x86.exe

Check

a) Environment variable VS110COMNTOOLS is set to \common7\tools

b) Regkey HKLM\SOFTWARE\Microsoft\VisualStudio\11.0\InstallDir is set to your \Common7\IDE\

c) covrun32.dll and covrun64.dll exist in "\Team Tools\Dynamic Code Coverage"

Buona fortuna,

Nadav

+0

Non ho 'covrun64.dll' nella mia macchina e la copertura del codice funziona correttamente. Questo non è il problema. –

+0

Grazie per l'aiuto! Nel mio caso la variabile di ambiente è stata impostata in modo errato. Non c'erano messaggi di errore, solo nessun risultato di copertura del codice. – Pegieo

+0

felice di aver potuto aiutare ;-) – nadavy

Problemi correlati