Cenni preliminari sulla distribuzione dei test
Aggiornamento: novembre 2007
In Visual Studio Team System Test Edition°i test vengono eseguiti nella cartella in cui sono stati creati o generati oppure in una cartella di distribuzione separata. È possibile scegliere di abilitare la distribuzione dei test definendo un'impostazione della configurazione di esecuzione dei test. Per ulteriori informazioni, vedere Procedura: configurare la distribuzione dei test.
La separazione abilitata con la distribuzione dei test consente un'esecuzione più pulita dei test e, di conseguenza, risultati più accurati. Nel passaggio della distribuzione, Test Edition consente di copiare elementi di distribuzione, ossia file e cartelle, nella cartella di distribuzione prima dell'esecuzione dei test. Vengono copiati i file appartenenti ai seguenti tipi:
Il file binario del test, ad esempio, creato dall'assembly dal progetto del test, o un file binario del test generico.
Tutti gli assembly dipendenti. Per ulteriori informazioni, vedere Risoluzione dei problemi relativi a Test Edition.
I file specificati, quali i file XML e i file di configurazione, sui quali si basa il test. È possibile configurare la distribuzione sia specificando elementi di distribuzione aggiuntivi da copiare sia modificando la cartella di distribuzione. Per ulteriori informazioni, vedere Procedura: configurare la distribuzione dei test.
Nota: La scelta di abilitare o disabilitare la distribuzione dei test controlla la distribuzione di tutti gli elementi qui elencati: file di test, assembly dipendenti e file specificati esplicitamente. Per ulteriori informazioni sull'abilitazione e disabilitazione della distribuzione dei test, vedere Procedura: configurare la distribuzione dei test.
Per ulteriori informazioni su tutti i passaggi eseguiti nell'esecuzione di test, incluso il passaggio della distribuzione, vedere Passaggi dell'esecuzione di un test.
Due casi di distribuzione
Sono disponibili due tipi di distribuzione, locale e remota.
Esecuzioni dei test in locale. Per impostazione predefinita, i test vengono eseguiti in locale sullo stesso computer in cui è installato Visual Studio. In questo caso, gli elementi di distribuzione e i file binari di test vengono copiati nella cartella di distribuzione locale in cui vengono anche eseguiti. Per ulteriori informazioni, vedere Cartelle di distribuzione locale.
Esecuzioni dei test in remoto. Le esecuzioni in remoto prevedono l'utilizzo di agenti e controller. Innanzitutto, gli elementi di distribuzione vengono copiati nella cartella di distribuzione locale, la cartella [Out] dell'esecuzione dei test corrente; vedere Cartelle di distribuzione locale. Quindi, vengono copiati nella cartella di distribuzione nel computer controller e in seguito nella cartella di distribuzione in uno o più computer agente. Infine, i test vengono eseguiti sul computer agente e vengono restituiti i risultati. Per ulteriori informazioni sugli agenti e i controller, vedere Controller, agenti e rig.
Cartelle di distribuzione locale
Quando si eseguono i test di una soluzione, Visual Studio crea i file di distribuzione in una cartella denominata TestResults con la gerarchia della soluzione. Se la cartella TestResults non esiste, viene creata in Visual Studio.
Nota: |
---|
Se si utilizza l'IDE di Visual Studio, questa cartella viene creata direttamente nella cartella della soluzione; se non si utilizza l'IDE di Visual Studio, la cartella TestResults viene creata nella cartella corrente. |
Ogni volta che viene avviata un'esecuzione dei test, in Test Edition viene creata, nella cartella TestResults, una serie di cartelle da utilizzare esclusivamente per l'esecuzione specificata. La cartella principale in tale serie ha lo stesso nome dell'esecuzione dei test. Nell'esempio della seguente illustrazione la prima cartella in TestResults si chiama "<nome utente>@<nome computer><data> <ora>", come l'esecuzione dei test "<nome utente>@<nome computer><data> <ora>".
Cartelle di distribuzione per un'esecuzione dei test locale
Come mostrato nella precedente illustrazione, la soluzione ClassLibrary1 contiene due progetti, ClassLibrary1 e TestProject1. Poiché sono stati eseguiti test, questa soluzione contiene anche una cartella denominata TestResults. La cartella TestResults contiene un file di risultati del test per ciascuna esecuzione dei test. Tale file dei risultati del test ha lo stesso nome dell'esecuzione dei test e l'estensione .trx.
Altre cartelle vengono create nella cartella TestResults, come descritto di seguito:
Cartella dell'esecuzione dei test. In TestResults si trova una cartella per ciascuna esecuzione dei test avviata. La cartella di esecuzione dei test ha lo stesso nome dell'esecuzione dei test, come visualizzato nelle finestre Risultati test e Esecuzione dei test. Il formato predefinito per il nome dell'esecuzione dei test è <nome utente>@<nome computer> <data> <ora>. La cartella dell'esecuzione dei test contiene anche gli script di pulitura eseguiti prima e dopo l'esecuzione dei test, come descritto in Passaggi dell'esecuzione di un test.
Cartella Out e sottocartelle. Ciascuna cartella di esecuzione dei test contiene una cartella denominata Out. La cartella Out rappresenta la cartella di distribuzione effettiva indicata in Passaggi dell'esecuzione di un test. In altri termini, gli assembly e altri file o cartelle richiesti per l'esecuzione dei test vengono copiati nella cartella <soluzione>\TestResults\<esecuzione dei test>\Out ogni volta che viene avviata un'esecuzione dei test.
Cartella In e sottocartelle. Ciascuna cartella di esecuzione dei test contiene una cartella denominata In. Determinati risultati dei test, una volta generati, vengono archiviati nella cartella In oppure in una sottocartella, come indicato in Passaggi dell'esecuzione di un test. Ad esempio, i risultati di code coverage vengono archiviati in un file denominato data.coverage in una sottocartella con lo stesso nome del computer su cui sono stati eseguiti i test.
Nota sulla sicurezza: Quando si esegue un test sotto l'host Smart Device, i file nella cartella In del dispositivo vengono copiati nuovamente nel desktop. Per impedire l'esecuzione di file non attendibili, in Visual Studio viene aggiunto .txt a tutti i file che non terminano in .txt o .log.
Scelta di un host per il test
Dopo avere copiato gli elementi di distribuzione, il test viene eseguito nell'host di test selezionato nella configurazione di esecuzione dei test. La maggioranza dei test viene eseguita nell'host di test predefinito di Visual Studio, nella cartella di distribuzione. Determinati tipi di test devono tuttavia essere eseguiti in un host di test diverso, come descritto di seguito:
Host ASP.NET. Selezionare tale host quando si eseguono test, come ad esempio unit test di ASP.NET, da eseguire in un processo server di sviluppo IIS o ASP.NET. Per ulteriori informazioni, vedere Cenni preliminari sugli unit test ASP.NET.
Host Smart Device. Selezionare tale host quando si eseguono test, come ad esempio unit test di Smart Device, da eseguire su Smart Device o emulatore. Per ulteriori informazioni, vedere Cenni preliminari sugli unit test di Smart Device.
Per informazioni sulla selezione di un host di test, vedere Procedura: specificare la configurazione di esecuzione di un test.
Risoluzione dei problemi di distribuzione dei test
I problemi seguenti possono impedire la distribuzione di file:
Impossibile trovare il file. Se il file è stato specificato con un percorso assoluto, assicurarsi che tale percorso esista. Verificare inoltre che il file sia stato archiviato nel controllo del codice sorgente utilizzando un percorso assoluto.
Se è stato utilizzato un percorso relativo, assicurarsi che la radice si trovi nella posizione prevista. Se il percorso contiene una variabile di ambiente, assicurarsi che sia impostata correttamente. Se si utilizza un percorso relativo che include una directory specifica della configurazione, ad esempio Debug\bin\program.xls, verificare di non utilizzare al momento una configurazione diversa, perché in questo caso il file non esiste nella posizione prevista.
Accesso negato. Assicurarsi di disporre dell'accesso al file che deve essere copiato nella cartella di distribuzione.
Il file è su una condivisione di rete. Se il file non può essere copiato perché è su una condivisione di rete, copiarlo nel computer locale e indicare che il file nella nuova posizione deve essere distribuito. Quindi, eseguire nuovamente il test.
Vedere anche
Attività
Procedura: configurare la distribuzione dei test
Procedura: specificare la configurazione di esecuzione di un test
Procedura: eliminare risultati dei test
Concetti
Strumentazione e ripetizione della firma di assembly
Passaggi dell'esecuzione di un test