Utilizzo di condizioni di test negli unit test del database
Aggiornamento: novembre 2007
In uno unit test del database tipico viene eseguito uno script di test T-SQL (Transact-SQL) e viene restituita un'istanza della classe ExecutionResult. L'istanza di questa classe contiene un DataSet, l'ora di esecuzione e le righe influenzate dallo script. Tutte queste informazioni vengono raccolte durante l'esecuzione dello script. I risultati possono essere valutati all'interno dello script T-SQL tramite la funzione RAISERROR oppure utilizzando condizioni di test. In Visual Studio Team System Database Edition è disponibile un gruppo di condizioni di test predefinite da utilizzare.
Condizioni di test predefinite
Nella tabella seguente vengono elencate le condizioni di test predefinite che è possibile aggiungere tramite il riquadro Condizioni di test nella finestra di progettazione unit test del database.
Condizione di test |
Descrizione della condizione di test |
---|---|
Gruppo di risultati vuoto |
Ha esito negativo se il gruppo di risultati restituito dallo script T-SQL non è vuoto. |
Ora di esecuzione |
Ha esito negativo se l'esecuzione dello script di test T-SQL richiede più tempo del previsto. Il tempo di esecuzione predefinito è 30 secondi. Il tempo di esecuzione si applica esclusivamente allo script di test, non allo script di pre-test o a quello di post-test. |
Senza risultati |
Produce sempre un test senza risultati. Si tratta della condizione predefinita aggiunta a ogni test. Questa condizione di test viene inclusa per indicare che la verifica del test non è stata implementata. Eliminare questa condizione dal test dopo averne aggiunto altre. |
Gruppo di risultati non vuoto |
Ha esito negativo se il gruppo di risultati è vuoto. È possibile utilizzare questa condizione di test o la condizione Gruppo di risultati vuoto con la funzione @@RAISERROR T-SQL nello script di test per verificare se un aggiornamento è stato eseguito correttamente. È possibile, ad esempio, salvare valori di pre-aggiornamento, eseguire l'aggiornamento, confrontare i valori di post-aggiornamento e generare un errore nel caso non si ottengano i risultati previsti. |
Conteggio righe |
Ha esito negativo se il gruppo di risultati non contiene il numero di righe previsto. |
Valore scalare |
Ha esito negativo se un determinato valore nel gruppo di risultati non è uguale al valore specificato. Il valore predefinito di Valore previsto è null. |
Nota: |
---|
La condizione di test Ora di esecuzione specifica un limite di tempo entro il quale è necessario eseguire lo script di test T-SQL. Se questo limite di tempo viene superato, il test ha esito negativo. I risultati del test includono anche una statistica di durata, diversa dalla condizione di test Ora di esecuzione. La statistica di durata non include solo il tempo di esecuzione, ma anche il tempo necessario per connettersi due volte al database, per eseguire tutti gli altri script di test, ad esempio lo script di pre-test e quello di post-test e per eseguire le condizioni di test. Di conseguenza, un test può essere superato anche se la relativa durata è superiore al tempo di esecuzione. La durata segnalata non include il tempo utilizzato per la generazione di dati e per la distribuzione dello schema, poiché queste operazioni vengono eseguite prima dell'esecuzione dei test. Per visualizzare la durata del test, selezionare un test eseguito nella finestra Risultati test, fare clic su di esso con il pulsante destro del mouse e quindi scegliere Visualizza dettagli risultati test. |
È possibile aggiungere condizioni di test agli unit test del database tramite il riquadro Condizioni di test della finestra di progettazione unit test del database. Per ulteriori informazioni, vedere Procedura: aggiungere condizioni di test a unit test del database.
È anche possibile modificare direttamente il codice con metodo di test per aggiungere più funzionalità. Per ulteriori informazioni, vedere Personalizzazione degli unit test del database in Visual Basic o Visual C#. È possibile, ad esempio, aggiungere funzionalità a un metodo di test aggiungendo istruzioni di asserzione. Per ulteriori informazioni, vedere Utilizzo di asserzioni T-SQL in unit test del database.
Condizioni di test estendibili
Oltre alle sei condizioni di test predefinite, è possibile scrivere nuove condizioni di test personalizzate. Queste condizioni di test vengono visualizzate nel riquadro Condizioni di test della finestra di progettazione unit test del database. Per ulteriori informazioni, vedere Procedura: aggiungere una condizione di test alla finestra di progettazione unit test del database.
Vedere anche
Concetti
Utilizzo di asserzioni T-SQL in unit test del database