Verifica del codice del database tramite unit test
È possibile utilizzare unit test del database per definire lo stato di base del database e verificare eventuali modifiche apportate successivamente agli oggetti di database. Prima di poter definire uno stato di base, è necessario creare un progetto di database. L'utente deve quindi creare un progetto di test e scrivere set di test Transact-SQL che consentano di verificare il funzionamento degli oggetti di database. Tramite questi test è possibile verificare nell'ambiente di sviluppo isolato il corretto comportamento di tali oggetti prima di archiviarli nel controllo delle versioni.
L'utente può creare test per controllare le modifiche apportate a qualsiasi oggetto di database. Può inoltre 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 del database anche se non è stato aperto alcun progetto di database. Se, tuttavia, si desidera generare automaticamente script di test per testare oggetti di database specifici dal progetto, è necessario aprire il progetto di database contenente tali oggetti.
Se un membro del team modifica lo schema di database, è possibile utilizzare questi test per verificare se le modifiche hanno interferito con le funzionalità esistenti. Gli unit test del database 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.
Importante |
---|
È possibile creare, modificare ed eseguire unit test del database in Visual Studio Premium e Visual Studio Ultimate. In Visual Studio 2010 Professional è possibile eseguire unit test del database, ma non creare o modificare test nella finestra di progettazione. |
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 tali attività.
Attività comuni |
Contenuto di supporto |
---|---|
Fare pratica: è possibile eseguire una procedura dettagliata introduttiva per acquisire familiarità con le procedure di creazione ed esecuzione di uno unit test del database semplice. In questa procedura dettagliata è incluso un esempio di unit test del database negativo. |
|
Popolare il database con i dati di test: prima di poter eseguire test sugli oggetti di database, è necessario disporre dei dati nel database. La modalità più comune per creare dati di test consiste nell'utilizzo di uno o più generatori di dati. È possibile inoltre popolare il database con i dati di riferimento nello script post-distribuzione oppure sincronizzare i dati presenti nel database con quelli di un altro database. |
|
Definire gli unit test del database: è necessario creare gli unit test del database nel relativo progetto. Configurare le impostazioni per tale progetto e definire una o più condizioni di test per ogni test. |
|
Eseguire gli unit test del database: dopo avere definito uno o più unit test, eseguirli, eseguire il debug di qualsiasi problema ed esaminare i risultati del test. |
|
Gestire gruppi di test: è 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 è preferibile 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. |
|
Archiviare i progetti di test e i test nel controllo delle versioni: dopo avere eseguito i test e verificato se funzionano correttamente, è necessario archiviare il progetto di test e tutti i file associati in un controllo delle versioni, in modo che tutti i membri del team possano eseguire i test. |
|
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. |
|
Aggiornare unit test esistenti: se si dispone di unit test creati in una versione precedente di Visual Studio, è necessario aggiornarli prima che vengano compilati ed eseguiti correttamente con questa versione.
Nota
Se si apre una soluzione in cui sono inclusi sia un progetto di database sia un progetto di unit test del database di una versione precedente di Visual Studio, verrà richiesto di aggiornare tali progetti.Se si apre una soluzione in cui è presente solo un progetto di unit test del database, è necessario aggiornare manualmente il progetto.
|
|
Risolvere i problemi: è possibile acquisire maggiori informazioni sulla risoluzione dei problemi comuni relativi agli unit test del database. |
Scenari correlati
Avvio dello sviluppo in team di database
Prima di poter eseguire i test su un database, è necessario creare un progetto di database con la rappresentazione offline degli oggetti e le impostazioni per il database.Scrittura e modifica del codice del database
Dopo avere stabilito uno stato di base per il database, si eseguono attività di sviluppo iterativo, ed esempio la definizione e l'aggiornamento di oggetti di database. Una volta verificate le modifiche, è possibile condividerle con il team.Compilazione e distribuzione di database in un ambiente di produzione o gestione temporanea
Dopo aver implementato e verificato interamente il codice del database in ambienti di sviluppo isolato e di test, l'amministratore del database (DBA) distribuisce le modifiche negli ambienti di gestione temporanea e di produzione.