Share via


Verifica del codice di database tramite unit test di SQL Server

 

È possibile utilizzare unit test di SQL Server per definire uno stato di base del database e verificare eventuali modifiche apportate successivamente agli oggetti di database.

Per definire uno stato di base di un database, è possibile creare un progetto di test e scrivere set di Transact-SQL che utilizzano gli oggetti di database.Con questi test è possibile verificare in un ambiente di sviluppo isolato se gli oggetti funzionano come previsto.Gli unit test di SQL Server funzionano bene in combinazione con lo sviluppo di database offline tramite progetti di database di SQL Server (per altre informazioni, vedere Sviluppo di database offline orientato ai progetti).Una volta definito un set di base di unit test di SQL Server, è possibile utilizzare tali test per verificare il corretto funzionamento del database prima di archiviare le modifiche nel controllo delle versioni.

È possibile creare test per verificare le modifiche apportate a qualsiasi oggetto di database.Inoltre, è possibile generare automaticamente stub di codice Transact-SQL per testare le funzioni, i trigger e le stored procedure del database.

Nota


È possibile creare ed eseguire unit test di SQL Server anche se non è stato aperto alcun progetto di database.Tuttavia, se si desidera generare automaticamente script di test per testare oggetti di database specifici del progetto, è necessario aprire il progetto di database contenente gli oggetti che si desidera verificare.

Se un membro del team modifica lo schema del database, è possibile utilizzare questi test per verificare se le modifiche hanno interferito con le funzionalità esistenti.Gli unit test di SQL Server creati dall'utente costituiscono un'integrazione degli unit test del software creati dagli sviluppatori del software.È necessario completare entrambi i set di test per verificare il comportamento complessivo dell'applicazione.

Tramite gli unit test è possibile verificare che le procedure vengano eseguite correttamente quando è previsto che abbiano esito positivo e che non vengano completate in caso contrario.Le verifiche della presenza degli errori previsti sono note come test negativi.

Supporto per le versioni di Visual Studio per unit test di SQL Server

La funzionalità per unit test di SQL Server, che è stata aggiunta con l'aggiornamento di dicembre 2012 di SQL Server Data Tools, consente di creare, modificare ed eseguire unit test di SQL Server in Visual Studio 2010 Professional, Visual Studio 2012 Professional e versioni successive.

Per essere certi di installare l'aggiornamento più recente di SQL Server Data Tools, vedere l'argomento Finestra di dialogo Controlla aggiornamenti.

La shell Visual Studio 2010 integrata di Visual Studio 2012 e SQL Server Data Tools non supporta unit test di SQL Server.

Attività comuni

Nella tabella seguente sono incluse le descrizioni di attività comuni che supportano questo scenario e vengono forniti i collegamenti a ulteriori informazioni su come completare queste attività.

Attività comuni Contenuto di supporto
Fare pratica: è possibile seguire una procedura dettagliata introduttiva per acquisire familiarità con le modalità di creazione ed esecuzione di uno unit test di SQL Server semplice.In questa procedura dettagliata è incluso un esempio di unit test negativo di SQL Server. Procedura dettagliata: Creazione ed esecuzione di uno unit test di SQL Server
Definire unit test di SQL Server: è necessario creare unit test di SQL Server nel proprio progetto.Configurare le impostazioni per il progetto in questione e definire una o più condizioni di test per ogni test. Creazione e definizione di unit test di SQL Server

Utilizzo di condizioni di test in unit test di SQL Server
Eseguire unit test di SQL Server: dopo aver definito uno o più unit test, eseguirli, eseguire il debug di eventuali problemi ed esaminare i risultati del test. Esecuzione di unit test di SQL Server
Gestire gruppi di test (Visual Studio 2010): è possibile organizzare in gruppi i test che in genere è opportuno eseguire contemporaneamente.Gli elenchi di test sono comunque supportati, ma per i nuovi gruppi di test è consigliabile utilizzare invece le categorie di test.È possibile, ad esempio, creare una categoria di test per i test destinati ai trigger o a tutti gli oggetti in un particolare schema. Definizione di categorie per raggruppare i test

Definizione di elenchi di test per raggruppare i test
Archiviare i progetti di test e i test nel controllo delle versioni: dopo aver eseguito i test e verificato se funzionano correttamente, è consigliabile archiviare il progetto di test e tutti i file associati nel controllo delle versioni, in modo che tutti i membri del team possano eseguire i test.Archiviando il progetto di test nel controllo delle versioni insieme al progetto di database SQL Server è possibile ripristinare facilmente le versioni compatibili dei test per entrambi i database. Aggiungere file al controllo della versione

Utilizzo delle finestre Archivia e Modifiche in sospeso
Definire condizioni di test personalizzate: è possibile creare condizioni di test personalizzate per poter verificare comportamenti non previsti nel set predefinito di condizioni di test.È necessario distribuire queste condizioni a tutti i membri del team che desiderano eseguire i test in cui vengono utilizzate le nuove condizioni. Scenario: definire condizioni di test personalizzate per gli unit test di SQL Server
Aggiornare unit test esistenti: se si dispone di unit test di database creati in una versione precedente di Visual Studio, è necessario aggiornarli prima che vengano compilati ed eseguiti correttamente con questa versione. Note: Se si apre una soluzione contenente sia un progetto di database sia un progetto di unit test di database da una versione precedente di Visual Studio, verrà richiesto di aggiornare il progetto di database.Verrà richiesto di aggiornare i progetti di unit test di database. L'aggiornamento deve essere eseguito manualmente. Aggiornare un progetto di test precedente contenente unit test del database
Extensibility: è possibile estendere SQL Server Data Tools tramite la creazione di estensioni di funzionalità. Condizioni di test personalizzate per unit test di SQL Server
Risolvere i problemi: è possibile acquisire ulteriori informazioni sulla risoluzione dei problemi comuni relativi agli unit test di SQL Server. Risoluzione dei problemi relativi a unit test del database di SQL Server

Scenari correlati

Sviluppo di database offline orientato ai progetti
Gli unit test di database sono particolarmente efficaci se utilizzati insieme allo sviluppo di progetti offline tramite i progetti di database SQL Server.

Vedere anche

SQL Server Data Tools