Condividi tramite


Scelta della cartella di strumentazione

Aggiornamento: novembre 2007

Se è necessario raccogliere dati di code coverage durante il test del codice di un binario, tale binario deve dapprima essere instrumentato in Visual Studio. Con il processo di strumentazione si aggiunge codice al binario che genera i dati di code coverage. Per informazioni sulla strumentazione di binari per il code coverage, vedere Procedura: ottenere dati di code coverage.

È possibile controllare alcuni aspetti del processo di strumentazione, ossia dove eseguirlo. In Visual Studio i binari possono essere instrumentati in uno di due modi:

  • Sul posto Se si sceglie la strumentazione sul posto, i binari vengono instrumentati nella cartella in cui risiedono prima dell'esecuzione del test. . Se il binario fa parte di un'applicazione che si sta creando, tale cartella corrisponde al percorso in cui Visual Studio lo ha generato.

  • Nella cartella di distribuzione. Se non si sceglie strumentazione sul posto, il binario viene instrumentato nella cartella di distribuzione. Le cartelle di distribuzione vengono create appositamente per le esecuzioni di test. Per ulteriori informazioni sul processo di distribuzione, vedere Cenni preliminari sulla distribuzione dei test.

Per decidere quale cartella utilizzare, vedere Scelta della cartella di strumentazione. Quindi, per informazioni sull'impostazione della cartella, vedere Specifica della cartella di strumentazione.

Scelta della cartella di strumentazione

Quando si determina la cartella ottimale in cui instrumentare il binario, la scelta tra la strumentazione sul posto e nella cartella di distribuzione dipende dal livello di accesso al binario e dal tipo di binario.

Binari con disponibilità limitata. I binari il cui stato corrisponde a uno dei seguenti viene vengono definiti nella tabella come binari con disponibilità limitata:

  • Il binario è condiviso tra più utenti. Il problema con i binari condivisi è la possibilità che si verifichino conflitti a causa dell'utilizzo simultaneo da parte di più utenti, ad esempio se due utenti iniziano le esecuzioni di test e richiedono anche dati di code coverage dallo stesso binario contemporaneamente.

  • Il binario si trova in una condivisione di rete, non nel computer locale.

  • Si dispone di accesso in sola lettura al binario.

Binari con un percorso di caricamento fisso. Il modulo di esecuzione dei test è in grado di caricare determinati binari solo da un percorso specifico. Nella tabella seguente tali binari sono definiti come binari con un percorso di caricamento fisso e includono i seguenti tipi di file:

  • Componenti COM

  • Pagine del Pannello di controllo

Nella tabella seguente vengono fornite indicazioni per la scelta della cartella di strumentazione corretta. Per i casi che prevedono fattori speciali da considerare, vedere la colonna Note aggiuntive.

Percorso di caricamento del binario

Disponibilità del binario

Cartella in cui eseguire la strumentazione

Note aggiuntive

fisso

non limitato

sul posto

(nessuna)

non fisso

limitato

cartella di distribuzione

(nessuna)

non fisso

non limitato

è possibile utilizzare entrambe le cartelle, ma si consiglia di scegliere la cartella di distribuzione.

Se, dopo avere scelto la strumentazione sul posto, si genera nuovamente un binario instrumentato durante l'esecuzione del test, il modulo di test rileva che il binario rigenerato è più recente, non ripristina la versione pre-strumentazione e genera un avviso a livello di esecuzione.

fisso

limitato

sul posto, ma vedere le Note aggiuntive

Se non si sceglie la strumentazione sul posto, i binari in un percorso fisso non vengono instrumentati. Questo significa che, sebbene l'esecuzione del test riesca e non vengano generati avvisi a livello di esecuzione, i dati di code coverage non vengono raccolti.

Per i suggerimenti sulle soluzioni alternative, vedere Binari a disponibilità limitata con percorso fisso.

Specifica della cartella di strumentazione

È possibile scegliere tra la strumentazione sul posto e nella cartella di distribuzione in due modi:

  • Per convertire la scelta nell'impostazione predefinita, aprire la finestra di dialogo Opzioni dal menu Strumenti di Visual Studio. Per individuare questa impostazione, cercare nella pagina Esecuzione dei test sotto il nodo Strumenti di test.

  • È anche possibile specificare la cartella di strumentazione per una determinata configurazione di esecuzione dei test. Nella pagina Code coverage dell'editor di configurazione di esecuzione dei test, è possibile selezionare Instrumenta assembly sul posto. Per ulteriori informazioni, vedere Procedura: specificare la configurazione di esecuzione di un test.

Binari a disponibilità limitata con percorso fisso

Il modulo di test deve essere in grado di modificare il binario da instrumentare sul posto. Per renderlo possibile, esaminare i seguenti criteri:

  • Per il file binario non deve essere impostato l'attributo di sola lettura. È possibile correggere questa impostazione se si dispone delle autorizzazioni sufficienti sul file.

  • Il modulo di test deve disporre delle autorizzazioni per instrumentare il file binario. Questo significa che l'utente che esegue il test deve avere i privilegi necessari per modificare i binari. Perché la strumentazione viene eseguita dall'applicazione host, l'account che richiede tali privilegi è quello in base al quale viene eseguito devenv.exe o MSTest.exe, indipendentemente dall'esecuzione locale o remota. Tale account appartiene all'utente che esegue Visual Studio, che ha eseguito il comando MSTest.exe o che ha avviato una build che, a sua volta, sta eseguendo test.

  • Il file binario non deve essere in uso né bloccato da un altro programma. Per correggere questo problema, è necessario terminare il programma bloccante o attendere che venga completato.

Se il modulo di test non è ancora in grado di instrumentare uno o più binari, verrà generato un avviso a livello di esecuzione.

Vedere anche

Attività

Procedura: specificare la configurazione di esecuzione di un test

Procedura: configurare la distribuzione dei test

Concetti

Strumentazione e ripetizione della firma di assembly

Cenni preliminari sulla distribuzione dei test

Altre risorse

Configurazione del code coverage