Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Includere unit test nel progetto di database per verificare che le modifiche apportate agli oggetti di database non interrompano le funzionalità esistenti. Le procedure seguenti illustrano come creare unit test di SQL Server per qualsiasi oggetto di database. SQL Server Data Tools include un supporto aggiuntivo per funzioni di database, trigger e stored procedure. Per altre informazioni, vedere Procedura: Creare unit test di SQL Server per funzioni, trigger e stored procedure.
Quando si crea uno unit test di SQL Server usando la prima procedura, viene creato automaticamente un progetto di test se non esiste alcun progetto di test. Se esistono già progetti di test, è possibile aggiungere il nuovo test a uno di questi progetti oppure creare un nuovo progetto di test. Per altre informazioni sui progetti di test, vedere Procedura: Creare un progetto di test per unit test del database di SQL Server.
Sono disponibili due opzioni per la creazione di uno unit test di SQL Server:
Creare un nuovo unit test di SQL Server all'interno di una nuova classe di test.
Tutti gli unit test di SQL Server all'interno di una determinata classe di test usano gli stessi script TestInitialize e TestCleanup. Creare una nuova classe di test se si vuole che lo unit test usi script TestInitialize e TestCleanup diversi rispetto ad altri unit test. Per altre informazioni, vedere Script negli unit test di SQL Server.
Creare un nuovo unit test di SQL Server all'interno di una classe di test esistente.
Scegliere questa opzione se il test unitario usa gli stessi script TestInitialize e TestCleanup degli altri test unitari all'interno della classe.
Creare uno unit test di SQL Server all'interno di una nuova classe di test
Scegliere Nuovo test dal menu Test.
Verrà visualizzata la finestra di dialogo Aggiungi nuovo test .
In Modelli selezionare Unit Test di SQL Server.
In Nome test immettere un nome per il test.
In Aggiungi al progetto di test selezionare un progetto di test esistente in cui aggiungere questo test. Se non esiste alcun progetto di test o se si vuole creare un nuovo progetto di test, selezionare Crea un nuovo <progetto di test del linguaggio>.
Seleziona OK.
Se il progetto di test è nuovo, verrà visualizzata la finestra di dialogo Nuovo progetto di test . Assegnare al progetto il nome e selezionare OK.
Se il progetto di test è nuovo o non è stato configurato, verrà visualizzata la finestra di dialogo Nomeprogetto< configurazione >test di SQL Server. Questa finestra di dialogo consente di configurare le informazioni seguenti per il progetto di test:
Connessione di database utilizzata per eseguire i test.
Connessione di database usata per convalidare i risultati dei test, distribuire un database e generare dati.
Distribuzione automatica del progetto di database e delle modifiche dello schema associate a una determinata configurazione del progetto prima di eseguire unit test.
Per altre informazioni, vedere Procedura: Configurare l'esecuzione di unit test di SQL Server.
Specificare le informazioni di configurazione del progetto e selezionare OK.
oppure
Selezionare Annulla per creare lo unit test senza configurare il progetto di test.
Il test vuoto viene visualizzato in UNIT TestDesigner di SQL Server. A seconda del linguaggio specificato per la creazione del progetto di test, al progetto di test viene aggiunto un file di codice sorgente Visual Basic o C#. Questo file contiene la classe di unit test di SQL Server generata da SQL Server Data Tools per lo unit test creato. Questa classe di test può contenere uno o più unit test che è possibile aggiungere tramite la finestra di progettazione unit test di SQL Server o tramite il codice come nuovi metodi di test nella classe di test.
È anche possibile aggiungere altri test:
- Fare clic con il pulsante destro del mouse su un progetto di test in Esplora soluzioni, scegliere Aggiungi, Nuovo test e quindi unit test di SQL Server.
- In Esplora oggetti di SQL Server selezionare Crea unit test.
Quando si seleziona questo file in Esplora soluzioni, viene visualizzato nella finestra di progettazione unit test di SQL Server per impostazione predefinita. Per visualizzare il codice o personalizzarlo per aggiungere altre funzionalità agli unit test, selezionare il file, fare clic con il pulsante destro del mouse e scegliere Visualizza codice.
Creare uno unit test di SQL Server all'interno di una classe di test esistente
Aprire una classe di unit test di SQL Server esistente nel SQL Server Unit Test Designer. È possibile accedere alla finestra di progettazione unit test di SQL Server facendo doppio clic sul file di codice sorgente dello unit test in Esplora soluzioni.
Selezionare il segno più (+) nella barra di navigazione per visualizzare la finestra di dialogo Specifica un nome per il test unitario.
Digitare un nome e selezionare OK.
Il nuovo unit test di SQL Server è disponibile nell'elenco a discesa nella barra di spostamento. Viene aggiunto anche come nuovo metodo di test nella classe di test. Per visualizzare il metodo di test nel codice, selezionare il file di classe, fare clic con il pulsante destro del mouse e scegliere Visualizza codice. Il nome del file della classe di test corrente viene visualizzato sulla scheda nella parte superiore del SQL Server Unit Test Designer.
Dopo aver configurato il progetto di test e creato lo unit test, i passaggi successivi sono:
- Aggiungere uno script di test Transact-SQL.
- Definire le azioni di pre-test e post-test.
- Aggiungere condizioni di test o un'altra istruzione assert per verificare i risultati dello script.
Annotazioni
La condizione di test inconclusiva è la condizione predefinita aggiunta a ogni test. Questa condizione di test è inclusa per indicare che la verifica di test non è stata implementata. Eliminare questa condizione di test dal test dopo aver aggiunto altre condizioni di test. Per altre informazioni, vedere Procedura: Aggiungere condizioni di test agli unit test del database.