Condividi tramite


Scelta della cartella di strumentazione

Se si desidera raccogliere dati di code coverage durante il test di codice in un assembly, Visual Studio deve prima instrumentare quell'assembly. Il processo di strumentazione prevede l'aggiunta di codice all'assembly che generi dati di code coverage.

È possibile decidere la cartella in cui vengono instrumentati gli assembly. Visual Studio può instrumentare gli assembly in uno dei due percorsi seguenti:

  • Sul posto Se si seleziona la strumentazione sul posto, in Visual Studio l'assembly viene instrumentato nella cartella in cui risiedono prima dell'esecuzione del test. Se l'assembly fa parte di un'applicazione che si sta creando, tale cartella corrisponde al percorso in cui Visual Studio lo ha compilato.

  • Nella cartella di distribuzione. Se non si seleziona la strumentazione sul posto, in Visual Studio l'assembly viene instrumentato nella cartella di distribuzione. Le cartelle di distribuzione vengono create appositamente per le esecuzioni di test. Per ulteriori informazioni sulla configurazione della distribuzione di test, vedere Procedura: configurare la distribuzione dei test.

Scelta della cartella di strumentazione

la scelta tra la strumentazione sul posto e nella cartella di distribuzione dipende dal livello di accesso all'assembly e dal tipo di assembly.

Assembly con disponibilità limitata. Gli assembly il cui stato corrisponde a uno dei seguenti viene vengono definiti nella tabella come assembly con disponibilità limitata:

  • L'assembly è condiviso tra più utenti. Il problema con gli assembly condivisi è la possibilità che si verifichino conflitti tra più utenti, ad esempio se due utenti iniziano le esecuzioni di test e richiedono anche dati di code coverage dallo stesso assembly contemporaneamente.

  • L'assembly si trova in una condivisione di rete, non nel computer locale.

  • Si dispone di accesso in sola lettura all'assembly.

Assembly con un percorso di caricamento fisso. Il motore di esecuzione dei test è in grado di caricare determinati assembly solo da un percorso specifico. Nella tabella seguente tali assembly sono definiti come assembly 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 dell'assembly

Disponibilità di assembly

Cartella in cui eseguire la strumentazione

Note aggiuntive

corretto

non limitato

sul posto

(nessuno)

non fisso

limitato

cartella di distribuzione

(nessuno)

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 compila nuovamente un assembly instrumentato durante l'esecuzione del test, il motore di test rileva che l'assembly ricompilato è più recente, non ripristina la versione pre-strumentazione e genera un avviso a livello di esecuzione.

corretto

limitato

Sul posto, ma vedere le Note aggiuntive

Se non si sceglie la strumentazione sul posto, gli assembly 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.

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.

  • È inoltre possibile specificare la cartella di strumentazione per le impostazioni di test quando si configura l'adattatore dati di diagnostica per il code coverage. Per ulteriori informazioni, vedere Procedura: configurare code coverage mediante impostazioni di test per test automatizzati.

Assembly a disponibilità limitata con percorso fisso

Per modificare l'assembly da instrumentare sul posto, è necessario soddisfare i criteri seguenti:

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

  • L'utente che esegue il test deve avere i privilegi necessari per modificare gli assembly. 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 di assembly 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 motore di test non è ancora in grado di instrumentare uno o più assembly, verrà generato un avviso a livello di esecuzione.

Vedere anche

Attività

Creazione di impostazioni di test per l'esecuzione di test automatizzati da Visual Studio

Creazione di impostazioni di test per test automatizzati come parte di un piano di test

Procedura: configurare la distribuzione dei test

Concetti

Strumentazione e ripetizione della firma di assembly

Altre risorse

Configurazione del code coverage