Perché Visual Studio dice "La copertura del codice non è abilitata per questa esecuzione di test" quando è abilitata?

StackOverflow https://stackoverflow.com/questions/1412205

Domanda

In Visual Studio, ho appena creato un semplice test unit per testare un metodo che ho scritto. Volevo verificare la copertura del codice, ma la finestra Copertura del codice indica sempre che la "Copertura del codice non è abilitata per questo test". Perché? Nota:

  1. Ho già seguito le istruzioni su questa pagina , vale a dire che la configurazione di prova ha gli assiemi pertinenti controllati nella pagina delle opzioni di Copertura del codice.
  2. Ho fatto clic su " Esegui test " ;, non " Test di debug " ;, che alcune fonti sostengono causino.
  3. Ho provato a eseguire il test con la configurazione di build corrente impostata su " Debug " o " Rilascio " ;; né funziona.
  4. Ho anche seguito i suggerimenti su questa pagina (riseleziona il file testrunconfig selezionando Test = > Seleziona la configurazione attiva del test attivo), inutilmente.

Tuttavia ricevo ancora il messaggio "La copertura del codice non è abilitata per questo test" " ogni volta che eseguo il test pertinente. Come posso abilitare la copertura del codice una volta per tutte?

È stato utile?

Soluzione

Ero solito lottare con MSTest, in un lotto di aree (compresa la copertura del codice) - francamente, * non fa esattamente del suo meglio per rendere la vita facile, specialmente con il testrunconfig extra ecc. che duplica molte cose già nel csproj.

In ogni caso; di quanto ho scoperto che TestDriven.NET ha questo integrato (a patto che tu abbia l'edizione giusta di Visual Studio per includere MSTest e copertura):

 alt text
(fonte: mutantdesign.co.uk )

Questo utilizzerà il tuo framework di test esistente (incluso MSTest), ma salterà attraverso tutti i soliti cerchi per abilitare la copertura di test, senza che tu debba confondere con la configurazione. Funziona anche con la colorazione del codice sorgente (rosso / blu non testato / testato ecc.). Handy.

* = lo strumento stesso e l'integrazione della GUI

Altri suggerimenti

Dai un'occhiata a questa pagina e vedi se questo aiuta: Suggerimenti sull'uso della copertura del codice in Visual Studio 2005

Ha avuto un problema anche dopo aver impostato il file di configurazione che hai citato e il problema era correlato agli assembly situati su GAC.

Se questo è per un progetto c ++, assicurati di aver abilitato la profilazione. Visualizza le proprietà del tuo progetto - > Collegamento - > Avanzate. Trova profilo e impostalo su Abilita informazioni di profilazione (/ PROFILE).

Assicurati di eseguire i test dalla finestra Visualizzazione test o Elenco test ... non dalla finestra dei risultati del test. La riesecuzione dei test all'interno della finestra dei risultati del test non sempre rispetta le impostazioni di configurazione dell'esecuzione del test.

Nel mio caso, quando ho contestato questo problema, non avevo "nessuna configurazione di esecuzione del test disponibile" nel menu Test- > Seleziona la configurazione del test attivo .
Ho rimosso / aggiunto il file .testrunconfig e la copertura del codice è tornata.
(VS2005 Team Edition)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top