Procedura: configurare l'esecuzione di unit test del database
Le informazioni contenute in questo argomento sono valide per:
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
La configurazione di un progetto di test consente di specificare varie impostazioni che regolano aspetti relativi alla modalità di esecuzione degli unit test del database. Queste impostazioni di configurazione sono archiviate nel file app.config del progetto di test. Se si modifica direttamente questo file, i nuovi valori verranno visualizzati nella finestra di dialogo Configurazione progetto.
La soluzione può contenere più progetti di test. Ogni progetto di test contiene un file app.config, ovvero un gruppo di impostazioni di configurazione. La soluzione può pertanto contenere diversi gruppi di unit test del database, uno per ciascun progetto di test, configurati per essere eseguiti in modo diverso.
Tramite queste impostazioni è possibile controllare la modalità di connessione del test al database oggetto del test, la modalità di distribuzione di uno schema da un progetto di database al database in questione e l'eventuale popolazione del database tramite un piano di generazione dati:
Connessioni database. Utilizzare questa impostazione per specificare le stringhe di connessione utilizzate per connettersi al database oggetto del test. Per ulteriori informazioni, vedere Specificare le stringhe di connessione.
Distribuzione dello schema. Un progetto di database è una rappresentazione offline del database. Il progetto di database rappresenta la struttura degli oggetti di database, ma non contiene dati. Dopo aver apportato le modifiche allo schema in un progetto di database, sarà possibile eseguirne il test in un database reale. Nel processo di distribuzione dello schema, gli oggetti di database di cui si desidera eseguire il test vengono copiati dal progetto di database nel database in cui eseguire i test. Per ulteriori informazioni sulla distribuzione dello schema, vedere Distribuire uno schema di database.
Stato database. Generando dati di test per il database, è possibile impostarne lo stato prima dell'avvio del test. È inoltre possibile impostare lo stato del database ripristinandolo da una copia di backup nello script TestInitialize. Per ulteriori informazioni su questo approccio, vedere Script negli unit test del database.
Per specificare i dati da generare, creare un piano di generazione dati in cui identificare le tabelle e le colonne che devono contenere i dati di test. Specificare inoltre il formato che si desidera assegnare ai dati. È possibile, ad esempio, generare il numero appropriato di cifre per un numero di telefono oppure importare nomi di clienti fittizi da un database di dati di test selezionati. Per ulteriori informazioni, vedere Utilizzare un piano di generazione dati.
Nota
I test non vengono eseguiti nella cartella della soluzione, ma in una cartella separata nel disco rigido locale. Sebbene sia possibile configurare aspetti della distribuzione dei test, in genere non è necessario configurarli per unit test del database. Per ulteriori informazioni sulla distribuzione dei test, vedere Esecuzione di test.
Specificare le stringhe di connessione
Per specificare le stringhe di connessione al database
Scegliere Configurazione test di database dal menu Test.
Verrà visualizzata la finestra di dialogo Configurazione del progetto 'TestProject'.
In Connessioni database è possibile eseguire le operazioni seguenti:
Scegliere la connessione di database rispetto alla quale si desidera eseguire gli unit test.
Selezionare la casella di controllo Utilizzare una connessione dati secondaria per convalidare gli unit test e scegliere una connessione di database nell'elenco se si desidera che l'esecuzione dei test venga convalidata rispetto a un'altra connessione di database.
Scegliere Nuova connessione per aggiungere una connessione a entrambi gli elenchi. È inoltre possibile scegliere Modifica connessione per modificare le impostazioni in una connessione esistente.
Questa operazione consente di creare la stringa di connessione ExecutionContext, utilizzata per eseguire lo script di test nello unit test del database. Se si specifica una connessione secondaria, verrà inoltre creata la stringa di connessione PrivilegedContext. Questa connessione viene utilizzata per eseguire il test delle interazioni con il database al di fuori dello script di test nello unit test del database. Per ulteriori informazioni, vedere Cenni preliminari sulle stringhe di connessione e sulle autorizzazioni.
Scegliere OK per chiudere la finestra di dialogo Configurazione del progetto 'TestProject'.
Generare nuovamente il progetto di test per applicare le modifiche alla configurazione.
Distribuire uno schema di database
Per distribuire in un database lo schema di un progetto di database
In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto di database e quindi scegliere Compila.
Quando si compila il progetto di database, viene generato uno script Transact-SQL. L'esecuzione di questo script rispetto a un database consente di ricreare in tale database la struttura del progetto di database.
Selezionare il progetto di test che si desidera configurare.
Scegliere Configurazione test di database dal menu Test.
Verrà visualizzata la finestra di dialogo Configurazione del progetto 'TestProject'.
In Distribuzione è possibile eseguire le operazioni seguenti:
Selezionare la casella di controllo Distribuisci automaticamente i progetti di database prima di eseguire test per accertarsi che venga eseguito il commit di tutte le modifiche dello schema apportate al progetto di database prima che vengano eseguiti i test.
In Progetto di database scegliere l'oggetto di database che si desidera distribuire oppure scegliere il pulsante con i puntini di sospensione per cercare un altro progetto. L'estensione dei file del progetto di database è dbproj.
In Configurazione distribuzione scegliere la configurazione di progetto rispetto alla quale eseguire la distribuzione. Le scelte disponibili sono Debug, Predefinito oppure Rilascio. Se si crea una configurazione per gli unit test, tuttavia, anche tale configurazione verrà visualizzata come opzione.
Scegliere OK per chiudere la finestra di dialogo Configurazione del progetto 'TestProject'.
All'avvio del test, verrà eseguito lo script Transact-SQL generato nel passaggio 1. Tramite questa azione lo schema verrà distribuito nel database di destinazione.
Generare nuovamente il progetto di unit test del database per applicare le modifiche alla configurazione.
Nota
Se si utilizza la generazione di dati e si distribuisce lo schema come parte del progetto di unit test, deselezionare la casella di controllo Blocca distribuzione incrementale se dovesse verificarsi una perdita di dati. Questa casella di controllo verrà visualizzata nella scheda Compila nelle proprietà del progetto di database. Se questa casella di controllo non viene deselezionata prima del tentativo di distribuire lo schema, la distribuzione avrà esito negativo. Per ulteriori informazioni, vedere Procedura: controllare la perdita di dati durante la distribuzione in database esistenti.
Utilizzare un piano di generazione dati
Per utilizzare un piano di generazione dati con uno unit test del database
Creare un piano di generazione dati. Per ulteriori informazioni, vedere Procedura: creare piani di generazione dati.
Specificare le tabelle da popolare con il piano di generazione dati. Per ulteriori informazioni, vedere Procedura: specificare le tabelle per la generazione di dati.
Specificare le colonne da popolare all'interno di queste tabelle. Per ulteriori informazioni, vedere Procedura: specificare le colonne per la generazione dati.
Salvare il piano di generazione dati e annotarne il nome.
In Esplora soluzioni fare clic sul progetto di test che si desidera configurare.
Scegliere Configurazione test di database dal menu Test.
Verrà visualizzata la finestra di dialogo Configurazione del progetto 'TestProject'.
In Stato database eseguire le operazioni seguenti:
Selezionare la casella di controllo Genera dati di test prima di eseguire unit test per applicare un piano di generazione dati al progetto di database prima di eseguire i test. L'estensione dei piani di generazione dati è dgen.
Scegliere il piano di generazione dati che si desidera applicare nell'elenco oppure scegliere il pulsante con i puntini di sospensione per cercare un piano.
Selezionare la casella di controllo Cancella il database prima di generare dati di test per sovrascrivere il database di test esistente nel progetto di database specificato.
Scegliere OK per chiudere la finestra di dialogo Configurazione del progetto 'TestProject'.
Il codice tramite cui viene richiamato il piano di generazione dati viene aggiunto al metodo AssemblyInitialize del progetto di test che è possibile trovare nel file denominato DatabaseSetup.cs o DatabaseSetup.vb. Se gli unit test del database vengono eseguiti ora, il database viene popolato una volta dal piano di generazione dati, all'inizio dell'esecuzione dei test.
Nota
Non è possibile annullare gli effetti della generazione dei dati di test.
(Facoltativo) Per utilizzare questo piano di generazione dati più volte durante l'esecuzione del test, copiare il codice che lo richiama dal metodo AssemblyInitialize e incollarlo in altri metodi dello unit test del database.
Generare nuovamente il progetto di test per applicare le modifiche alla configurazione.
Vedere anche
Attività
Procedura: creare piani di generazione dati