Condividi tramite


Procedura: eseguire unit test del database da Team Foundation Build

È possibile utilizzare Team Foundation Build per eseguire gli unit test del database come parte di un test di verifica della compilazione. Gli unit test del database possono essere configurati per distribuire il database, generare dati di test e quindi eseguire determinati test. Se non si ha familiarità con Team Foundation Build, consultare le informazioni riportate di seguito prima di eseguire le procedure di questo argomento:

Prima di utilizzare queste procedure, è necessario configurare l'ambiente di lavoro eseguendo le attività seguenti:

  • Installare Team Foundation Build e Controllo della versione di Team Foundation. È probabile che sia necessario installare Team Foundation Build e Controllo della versione di Team Foundation in diversi computer.

  • Connettersi a un'istanza di Visual Studio Team Foundation Server. Per informazioni sulle modalità di collegamento a Team Foundation Server, vedere How to: Connect to a Team Project in Team Foundation Server.

Dopo avere configurato l'ambiente di lavoro, è necessario effettuare le seguenti operazioni in Visual Studio Premium o in Visual Studio Ultimate: 

  1. Creare un progetto di database.

  2. Importare o creare lo schema e gli oggetti per il progetto di database.

  3. Configurare le proprietà del progetto di database per la compilazione e la distribuzione.

  4. Creare uno o più unit test del database.

  5. Aggiungere la soluzione contenente il progetto di database e il progetto di unit test del database al controllo delle versioni, quindi archiviare tutti i file.

Nelle procedure di questo argomento viene descritto come creare una definizione di compilazione per eseguire gli unit test del database durante un'esecuzione automatica di test:

  1. Configurare le impostazioni di test per eseguire unit test del database su un agente di compilazione x64

  2. Assegnare test a una categoria di test (facoltativo)

  3. Modificare il progetto di test

  4. Archiviare la soluzione

  5. Creazione di una definizione di compilazione

  6. Eseguire la nuova definizione di compilazione

Esecuzione di unit test del database in un computer di compilazione

Quando si eseguono unit test del database in un computer di compilazione, potrebbe non essere possibile trovare i file di progetto del database (dbproj) o i piani di generazione dati (dgen) tramite gli unit test. Questo problema si verifica perché il file app.config fa riferimento a tali file tramite percorsi relativi. Gli unit test del database potrebbero, inoltre, dare esito negativo se non viene trovata l'istanza di SQL Server da utilizzare per eseguire gli unit test del database. Questo problema può verificarsi se le stringhe di connessione archiviate nel file app.config non sono valide dal computer di compilazione.

Per risolvere questi problemi, è necessario specificare una sezione di override in app.config che esegua l'override di app.config con un file di configurazione specifico dell'ambiente Team Foundation Build. Per ulteriori informazioni, vedere Modificare il progetto di test più avanti in questo argomento.

Configurare le impostazioni di test per eseguire unit test del database su un agente di compilazione x64

Prima di poter eseguire unit test del database su un agente di compilazione x64, è necessario configurare le impostazioni di test per modificare la piattaforma processi host.

Per specificare la piattaforma processi host

  1. Aprire la soluzione contenente il progetto di test per il quale si desidera configurare le impostazioni.

  2. Aprire Esplora soluzioni e nella cartella Elementi di soluzione fare doppio clic sul file Local.testsettings.

    Verrà visualizzata la finestra di dialogo Impostazioni test.

  3. Nell'elenco selezionare Host.

  4. In Piattaforma processi host all'interno del riquadro dettagli fare clic su MSIL per configurare i test da eseguire in un agente di compilazione x64.

  5. Scegliere Applica.

Assegnare test a una categoria di test (facoltativo)

In genere, quando si crea una definizione di compilazione per eseguire unit test, si specificano una o più categorie di test. Tutti i test nelle categorie specificate vengono eseguiti quando viene eseguita la compilazione.

Per assegnare test a una categoria di test

  1. Aprire la finestra Visualizzazione test.

  2. Selezionare un test.

  3. Nel riquadro delle proprietà fare clic su Categorie di test e quindi sui puntini di sospensione (…) nella colonna all'estrema destra.

  4. Nella finestra di dialogo Categoria test digitare il nome della nuova categoria di test nella casella Aggiungi nuova categoria.

  5. Fare clic su Aggiungi, quindi su OK.

    La nuova categoria di test verrà assegnata al test e sarà disponibile per gli altri test tramite le relative proprietà.

Modificare il progetto di test

Per impostazione predefinita, in Team Foundation Build viene creato un file di configurazione dal file app.config del progetto con la compilazione del progetto di unit test. I percorsi del piano di generazione dati e del progetto di database vengono memorizzati come percorsi relativi nel file app.config. I percorsi relativi utilizzabili in Visual Studio non possono essere usati perché in Team Foundation Build i file compilati vengono inseriti in percorsi diversi in relazione alla posizione di esecuzione degli unit test. Nel file app.config sono inoltre contenute le stringhe di connessione che specificano il database da testare. È inoltre necessario disporre di un file app.config separato per Team Foundation Build se gli unit test devono essere connessi a un database diverso rispetto a quello utilizzato al momento della creazione del progetto di test. Apportando le modifiche indicate nella procedura successiva, è possibile impostare il progetto di test e il server di compilazione affinché in Team Foundation Build venga utilizzata una configurazione diversa.

Nota importanteImportante

È necessario attenersi a questa procedura per ogni progetto di test (vbproj o vsproj).

Per specificare un file app.config per Team Foundation Build

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul file app.config, quindi scegliere Copia.

  2. Fare clic con il pulsante destro del mouse sul progetto di test e scegliere Incolla.

  3. Fare clic con il pulsante destro del mouse sul file denominato Copia di app.config e scegliere Rinomina.

  4. Digitare BuildComputer.dbunitttest.config e premere INVIO, dove BuildComputer è il nome del computer su cui viene eseguito l'agente di compilazione.

  5. Fare doppio clic su BuildComputer.dbunitttesting.config.

    Il file di configurazione verrà aperto nell'editor.

  6. Impostare il percorso relativo dei file dbproj e dgen aggiungendo un livello di cartella per la cartella Sources e una sottocartella con lo stesso nome della soluzione. Ad esempio, se il file di configurazione contiene inizialmente la voce seguente:

    <DatabaseDeployment DatabaseProjectFileName="..\..\..\SalesDB\SalesDB.DBProj" Configuration="Debug" />
    

    Aggiornare il file come segue:

    <DatabaseDeployment DatabaseProjectFileName="..\..\..\Sources\SalesDB\SalesDB.DBProj" Configuration="Debug" />
    

    Ripetere questo processo per il file di generazione dati, se specificato.

    Al termine, il file BuildComputer.dbunitttest.config deve risultare analogo all'esempio seguente:

    <DatabaseUnitTesting>
            <DatabaseDeployment DatabaseProjectFileName="..\..\..\Sources\UnitTest\UnitTest\UnitTest.dbproj"
                Configuration="Debug" />
            <DataGeneration ClearDatabase="true" />
            <ExecutionContext Provider="System.Data.SqlClient" ConnectionString="Data Source=.\SQLEXPRESS;Initial Catalog=UnitTestB;Integrated Security=True;Pooling=False"
                CommandTimeout="30" />
            <PrivilegedContext Provider="System.Data.SqlClient" ConnectionString="Data Source=.\SQLEXPRESS;Initial Catalog=UnitTestB;Integrated Security=True;Pooling=False"
                CommandTimeout="30" />
    </DatabaseUnitTesting>
    
  7. Aggiornare l'attributo ConnectionString per ExecutionContext e PrivilegedContext per specificare connessioni al database di destinazione nel quale si desidera effettuare la distribuzione.

  8. Scegliere Salva tutto dal menu File.

  9. In Esplora soluzioni fare doppio clic su app.config.

  10. Nell'editor aggiornare il nodo <DatabaseUnitTesting> come segue:

    <DatabaseUnitTesting AllowConfigurationOverride="true">
    

    Apportando questa modifica, si consente a Team Foundation Build di utilizzare il file di configurazione sostitutivo che si è creato.

  11. Scegliere Salva tutto dal menu File.

    È quindi necessario aggiornare Local.testsettings per includere il file di configurazione personalizzato.

Per personalizzare Local.testsettings per la distribuzione del file di configurazione personalizzato

  1. In Esplora soluzioni fare doppio clic su Local.testsettings.

    Verrà visualizzata la finestra di dialogo Impostazioni test.

  2. Nell'elenco di categorie fare clic su Distribuzione.

  3. Selezionare la casella di controllo Abilita distribuzione.

  4. Fare clic su Aggiungi file.

  5. Nella finestra di dialogo Aggiungi file di distribuzione specificare il file BuildComputer.dbunitttest.config creato.

  6. Scegliere Applica.

  7. Fare clic su Chiudi.

  8. Scegliere Salva tutto dal menu File.

    Archiviare quindi la soluzione nel controllo della versione.

Archiviare la soluzione

In questa procedura vengono archiviati tutti i file della soluzione. Questi file includono il file di metadati di test della soluzione che contiene le associazioni delle categorie di test e i test. Ogni volta che si aggiunge, elimina, riorganizza o modifica il contenuto dei test, il file di metadati di test verrà automaticamente aggiornato per riflettere tali modifiche.

Nota

In questa procedura vengono descritti i passaggi necessari se si utilizza Controllo della versione di Team Foundation. Se si utilizza un software di controllo delle versioni diverso, è necessario attenersi alla procedura appropriata corrispondente.

Per archiviare la soluzione

  1. Connettersi a un computer con Team Foundation Server.

    Per ulteriori informazioni, vedere Utilizzo di Esplora controllo del codice sorgente.

  2. Aggiungere la soluzione al controllo del codice sorgente, se non è già stata inclusa.

    Per ulteriori informazioni, vedere Aggiungere file al controllo della versione.

  3. Scegliere Visualizza, quindi Archiviazioni in sospeso.

  4. Archiviare tutti i file della soluzione.

    Per ulteriori informazioni, vedere Archiviare modifiche in sospeso.

    Nota

    È possibile che un processo di team specifico regoli la modalità di creazione e di gestione dei test automatici. Il processo potrebbe ad esempio richiedere di verificare localmente la compilazione prima di archiviare tale codice insieme ai test che verranno eseguiti.

    Accanto a ogni file in Esplora soluzione verrà visualizzata l'icona del lucchetto per indicare che il file è archiviato. Per ulteriori informazioni, vedere Visualizzare le proprietà di file e cartelle del controllo della versione.

    I test sono disponibili per Team Foundation Build. A questo punto è possibile creare una definizione di compilazione contenente i test da eseguire.

Creazione di una definizione di compilazione

Per creare una definizione di compilazione

  1. In Team Explorer selezionare il progetto Team, fare clic con il pulsante destro del mouse sul nodo Compilazioni e scegliere Nuova definizione di compilazione.

    Verrà visualizzata la finestra Nuova definizione di compilazione.

  2. In Nome definizione di compilazione digitare il nome che si desidera utilizzare per la definizione di compilazione.

  3. Nella barra di navigazione fare clic su Impostazioni predefinite compilazione.

  4. In Copia output di compilazione nella seguente cartella di ricezione (percorso UNC, come \\server\share) specificare una cartella in cui copiare l'output di compilazione.

    È possibile specificare una cartella condivisa sul computer locale o su qualsiasi percorso di rete per il quale verranno concesse autorizzazioni al processo di compilazione.

  5. Sulla barra di navigazione fare clic su Processo.

  6. In Elementi da compilare nel gruppo Obbligatorio fare clic sul pulsante Sfoglia (…).

  7. Nella finestra di dialogo Editor elenco di progetti di compilazione fare clic su Aggiungi.

  8. Specificare il file della soluzione (con estensione sln) aggiunto in precedenza al controllo delle versioni nel corso della procedura dettagliata e scegliere OK.

    La soluzione verrà inserita nell'elenco File di soluzione o progetto da compilare.

  9. Scegliere OK.

  10. In Test automatizzati nel gruppo Base specificare i test che si desidera eseguire. Per impostazione predefinita, verranno eseguiti i test contenuti in file denominati *test*.dll della soluzione.

  11. Scegliere Salva NomeProgetto dal menu File.

    È stata creata una definizione di compilazione. A questo punto è possibile modificare il progetto di test.

Eseguire la nuova definizione di compilazione

Per eseguire il nuovo tipo di compilazione

  1. In Team Explorer espandere il nodo del progetto Team, quindi il nodo Compilazioni, fare clic con il pulsante destro del mouse sulla definizione di compilazione che si desidera eseguire e scegliere Accoda nuova compilazione.

    Verrà visualizzata la finestra di dialogo Accoda compilazione {NomeProgettoTeam} con un elenco di tutti i tipi di compilazione esistenti.

  2. Se necessario, in Definizione di compilazione fare clic sulla nuova definizione di compilazione.

  3. Controllare che i valori dei campi Definizione di compilazione, Agente di compilazione e Cartella di ricezione per la compilazione siano corretti e quindi fare clic su Accoda.

    Viene visualizzata la scheda In coda di Build Explorer. Per ulteriori informazioni, vedere Gestire e visualizzare compilazioni completate.

Vedere anche

Attività

Creare una definizione di compilazione di base

Accodare una compilazione

Monitorare lo stato di una compilazione in esecuzione