Share via


Procedura: configurare la distribuzione dei test

Il motore di test per Visual Studio Ultimate consente l'esecuzione dei test nella cartella in cui sono stati creati o generati o in una cartella di distribuzione distinta. Se i test vengono distribuiti in una cartella separata, è possibile continuare a compilare la soluzione durante l'esecuzione.

I file e le cartelle seguenti vengono copiati nella cartella di distribuzione prima dell'esecuzione dei test:

  • File di assembly del test

  • Tutti gli assembly dipendenti

  • File specificati, ad esempio file XML e file di configurazione da cui dipendono i test. È possibile configurare la distribuzione sia specificando elementi di distribuzione aggiuntivi da copiare sia modificando la cartella di distribuzione.

La cartella di distribuzione può essere locale o remota. Si verifica la distribuzione dei test remota quando si utilizzano controller dell'agente di test e agenti di test. Per ulteriori informazioni sulla distribuzione remota, vedere Procedura: eseguire un test mediante controller e agenti di test.

Quando si eseguono i test di una soluzione, Visual Studio crea i file di distribuzione in una cartella denominata TestResults nella 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 si inizia un'esecuzione dei test, Visual Studio crea, sotto la cartella TestResults, un set di cartelle da utilizzare esclusivamente per quell'esecuzione dei test. Nell'esempio mostrato nell'illustrazione seguente, la prima cartella sotto TestResults è "<nome utente>@<nome computer><data> <ora>". Si tratta del modello utilizzato per assegnare un nome a queste cartelle.

Cartella di distribuzione locale per test

Cartelle di distribuzione per un'esecuzione dei test locale

Come illustrato in precedenza, 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. Il file dei risultati del test ha 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 pulizia eseguiti prima e dopo l'esecuzione dei 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. Gli assembly e altri file o cartelle necessari per l'esecuzione del test vengono copiati nella cartella <soluzione>\TestResults\<esecuzione test>\Out ogni volta che viene avviata un'esecuzione.

  • Cartella In e sottocartelle. Ciascuna cartella di esecuzione dei test contiene una cartella denominata In. Quando vengono prodotti determinati risultati del test, vengono archiviati nella cartella In o in una sottocartella. Ad esempio, i risultati di code coverage vengono archiviati in un file denominato data.coverage in una sottocartella con lo stesso nome dell'<id esecuzione test>\<computer in cui vengono eseguiti i test>.

Impostazione delle opzioni di distribuzione

È possibile controllare la distribuzione dei test nei seguenti modi:

Selezionando gli elementi di distribuzione. Per la distribuzione dei test locale, il motore di test copia gli elementi di distribuzione, sia i file che le cartelle, in una cartella del computer prima di eseguire i test. È possibile aggiungere file e cartelle da distribuire nel file di impostazioni del test. Per i passi procedurali necessari, vedere Creazione di impostazioni di test per l'esecuzione di test automatizzati da Visual Studio o Creazione di impostazioni di test per test automatizzati come parte di un piano di test.

  • Per informazioni sull'ordine in cui gli elementi di distribuzione vengono copiati, vedere Ordine di distribuzione.

Selezionare elementi di distribuzione per un singolo test

Le procedure riportate di seguito si applicano a un solo metodo di test. Tali procedure determinano i file copiati da Visual Studio Ultimate prima dell'esecuzione di un test specifico.

Per distribuire elementi per un singolo test utilizzando la proprietà Elementi di distribuzione

  1. Selezionare un test nella finestra Visualizzazione test o nell'Editor elenco dei test.

  2. Premere F4.

    Verrà visualizzata la finestra Proprietà relativa al test.

  3. Fare clic sulla proprietà Elementi di distribuzione.

    Verranno visualizzati dei puntini di sospensione (…) nella colonna del valore.

  4. Scegliere il pulsante con i puntini di sospensione.

    Verrà visualizzata la finestra di dialogo Editor dell'insieme String

  5. Prima dell'esecuzione del test, digitare il percorso di una cartella o di un file che si desidera venga copiato nella cartella di distribuzione del test. Premere Invio e digitare dei percorsi aggiuntivi per specificare cartelle e file aggiuntivi da distribuire.

    Nota

    È possibile utilizzare variabili di ambiente nei percorsi degli elementi di distribuzione. Per un esempio, vedere DeploymentItemAttribute.

  6. Fare clic su OK.

    Gli elementi di distribuzione specificati saranno distribuiti in aggiunta a quelli specificati nella configurazione di esecuzione utilizzata per il test.

    Nota

    Per gli unit test, il codice che indica tali elementi di distribuzione viene scritto nel codice sorgente per il test, nell'attributo DeploymentItem.

Per distribuire elementi per un singolo test utilizzando l'attributo DeploymentItem

  1. Aprire il file del codice sorgente contenente uno unit test.

  2. Sotto l'attributo TestMethod aggiungere un attributo DeploymentItem.

  3. Per il parametro dell'attributo DeploymentItem, specificare la cartella o il file che si desidera distribuire per il test. È possibile utilizzare un percorso assoluto o un percorso relativo. I percorsi relativi sono relativi all'impostazione RelativePathRoot trovata nel file testrunconfig.

    Esempio in C#:

    [TestMethod]

    [DeploymentItem("MyTestProject\\testdatasource.mdb")]

    public void TestMethod1()

    {

    // TODO: Add test logic here

    }

    Esempio in Visual Basic:

    <TestMethod()> _

    <DeploymentItem("MyTestProject\\testdatasource.mdb")> _

    Public Sub TestMethod1()

    ' TODO: Add test logic here

    End Sub

    Nota

    È possibile utilizzare l'attributo DeploymentItem solo sui metodi di test, non sulle classi di test.

  4. Salvare e chiudere il file del codice sorgente dello unit test.

    Quando si esegue il test, verranno distribuiti gli elementi di distribuzione specificati in aggiunta a quelli indicati nella configurazione di esecuzione utilizzata per il test.

Ordine di distribuzione

Gli elementi di distribuzione vengono copiati nell'ordine specificato. Gli elementi di distribuzione copiati in un secondo momento sovrascrivono quelli copiati precedentemente, se hanno lo stesso nome. Gli elementi di distribuzione specificati nelle impostazioni dei test, ad esempio, vengono copiati successivamente agli elementi specificati per un singolo test.

Il seguente elenco è ordinato dalla priorità più elevata alla priorità meno elevata. Questo significa che gli elementi elencati per primi sovrascrivono quelli elencati successivamente. Nel seguente elenco, alcuni elementi vengono distribuiti automaticamente nella cartella di distribuzione; tra di essi, l'assembly di test, i file binari gestiti con gli strumenti e gli assembly dipendenti.

  1. Il file o i file che comprendono il test. Sono inclusi gli assembly del test, per gli unit test; testo o i file .mht, per i test manuali; altri tipi di file per altri tipi di test, come i test generici.

  2. File binari gestiti con strumenti. Si tratta di file binari gestiti con strumenti, ad esempio per attivare il code coverage.

    Nota

    Se si utilizzano gli strumenti interni, i file binari vengono gestiti con gli strumenti prima e quindi copiati nella directory di distribuzione; altrimenti, vengono prima copiati e poi gestiti con gli strumenti. La strumentazione sul posto rappresenta l'impostazione predefinita per i test eseguiti localmente. È possibile modificare questa impostazione nelle impostazioni del test.

  3. Elementi specificati nelle impostazioni dei test.

  4. Le dipendenze, ad esempio, i file di configurazione dell'applicazione e gli assembly dipendenti.

  5. Elementi di distribuzione per test. Includono gli elementi specificati per il metodo di test.

Vedere anche

Attività

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

Riferimenti

DeploymentItemAttribute

Concetti

Strumentazione e ripetizione della firma di assembly