2009-09-11 10 views
10

In Visual Studio, ho appena creato un semplice Unit Test per testare un metodo che ho scritto. Volevo controllare la copertura del codice, ma la finestra di copertura del codice indica sempre che "la copertura del codice non è abilitata per questa esecuzione di test". Perché? Nota:Perché Visual Studio dice "Copertura del codice non abilitata per questa esecuzione di test" quando è abilitata?

  1. Ho già seguito le istruzioni sul this page, vale a dire la configurazione di prova ha le pertinenti assemblee controllato nella pagina delle opzioni Code Coverage.
  2. Ho fatto clic su "Esegui test", non "Test di debug", che alcune fonti sostengono causa questo.
  3. Ho provato a eseguire il test con la configurazione di configurazione corrente impostata su "Debug" o "Release"; né funziona.
  4. Ho seguito anche i suggerimenti su this page (riseleziona il file testrunconfig selezionando Test => Seleziona configurazione esecuzione prova attiva), senza alcun risultato.

Eppure continuo a ricevere il messaggio "La copertura del codice non è abilitata per questa esecuzione di test" ogni volta che eseguo il test pertinente. Come abilitare la copertura del codice una volta per tutte?

+1

Si prega di rimuovere [Visual Studio] dal titolo del thread, i tag sono utilizzati per identificare domande, non titoli.Il titolo dovrebbe essere un riassunto della domanda, non il suo contesto. – Esko

+0

Grazie. (somemorechars) – Esko

+1

La mia comprensione è che VS è disponibile in due versioni: professionale e aziendale, e che non si ottiene la copertura del codice nella versione professionale. Hai la versione aziendale? –

risposta

3

ho usato per lottare con MSTest, in un sacco di aree (incluso il codice-coverage) - francamente, * non esattamente andare fuori del suo modo di rendere la vita facile - in particolare con l'extra testrunconfig ecc duplicazione un sacco di cose già nel csproj.

In ogni caso; che ho scoperto che TestDriven.NET ha costruito in questo (fino a quando si ha il diritto edizione di Visual Studio per includere MSTest e di copertura):

alt text http://www.mutantdesign.co.uk/weblog/images/DrivingMSTestandTeamCoverageusingTes.NET_F424/MSTestAndTeamCoverage_thumb1.gif

Questa utilizzerà il framework di test già esistenti (compreso MSTest) , ma salterà attraverso tutti i soliti cerchi per ottenere la copertura di test abilitata, senza che tu debba fare confusione con la configurazione. Funziona anche con la colorazione del codice sorgente (rosso/blu non testato/testato ecc.). Maneggevole.

* = lo strumento in sé, e l'integrazione GUI

+0

ha fatto bene il lavoro. Grazie. – tim

2

Date un'occhiata a questa pagina e vedere se questo aiuta: Tips on Using Code Coverage in Visual Studio 2005

Ha avuto un problema anche dopo aver impostato il file di configurazione lei ha citato e la questione era collegato con le assemblee situati su GAC.

+0

Cos'è il GAC? - – Timwi

+1

È l'acronimo di Global Assembly Cache. Non so se il tuo progetto lo usa, ma questa è solo una possibilità. Puoi provare a forzare l'assemblaggio di tutto, cancellando le DLL e gli oggetti attuali e ricostruendo di nuovo, con la profilazione abilitata. – Asrail

0

Se questo è per un progetto C++, assicurarsi di avere il profilo abilitato. Mostra le proprietà del tuo progetto -> Collegamento -> Avanzate. Trova profilo e impostalo su Abilita informazioni di profilo (/ PROFILE).

0

Assicurarsi di eseguire i test dalla finestra Test View o Elenco test ... non dalla finestra dei risultati del test. La ripetizione dei test all'interno della finestra dei risultati del test non sempre rispetta le impostazioni di configurazione del test.

0

Nel mio caso, quando ho sfidato questo problema, ho avuto "nessuna configurazione prova disponibile" sotto Test->Select Active Test Run Configuration menu.
Ho rimosso/aggiunto il file .testrunconfig e la copertura del codice è tornata.
(VS2005 Team Edition)

Problemi correlati