Procedura: creare uno unit test basato sui dati

È possibile configurare uno unit test in modo che anziché digitare valori in un metodo di test sia possibile recuperare i valori da un'origine dati. Lo unit test viene eseguito in successione per ogni riga dell'origine dati. Ciò semplifica il testing di un'ampia gamma di input in un unico test.

Sono previste due fasi per la configurazione di uno unit test per il recupero di valori da un'origine dati. La prima consiste nella creazione della connessione tra il metodo dello unit test e l'origine dati mediante le proprietà dello unit test. La seconda fase consiste nell'assegnare le variabili del metodo per il recupero dei relativi valori dalla colonna appropriata nell'origine dati. A tale scopo, si agisce sulla logica del metodo di test stesso.

Esempio di unit test basato sui dati

Nella figura seguente vengono illustrati due unit test: uno aggiunge due numeri e l'altro concatena un nome con un cognome. Questi unit test sono configurati per recuperare i valori per i test da un database.

Unit test basati sui dati

Esempio di unit test basato sui dati

  1. Questa riga fornisce l'attributo DataSource e la stringa di connessione. Le informazioni esatte nella stringa di connessione possono variare a seconda del tipo di origine dati utilizzato. In questo esempio, si utilizza un database di Access.

  2. Quando i valori vengono recuperati dalla tabella del database, è necessario convertirli nel tipo appropriato. In questo esempio, il primo unit test converte i valori del database in stringhe e il secondo unit test in Integer.

  3. La proprietà TestContext.DataRow indica allo unit test la riga da cui recuperare i dati. In questo caso i dati vengono recuperati a partire dalla prima riga e quindi in sequenza fino all'ultima riga della tabella. Per ulteriori informazioni su questa proprietà, vedere TestContext.

  4. Il nome della colonna indica allo unit test la colonna da cui recuperare i dati.

È possibile osservare i risultati dettagliati per ogni riga di dati utilizzata dal test facendo doppio clic sul test nella finestra Risultati test.

Risultati dettagliati di uno unit test basato sui dati

Risultati dettagliati di uno unit test basato sui dati

Creare una connessione tra lo unit test e l'origine dati

Si tratta della prima fase della configurazione di uno unit test per l'utilizzo di un'origine dati. In questa fase viene creata la connessione tra il metodo dello unit test e l'origine dati.

Questa procedura illustra come utilizzare le proprietà dello unit test per creare la connessione. È tuttavia possibile creare la connessione creando un file app.config e aggiungendovi le informazioni sulla connessione. Il vantaggio dell'utilizzo di un file app.config consiste nel fatto che è possibile cambiare il percorso del database senza necessità di modificare lo unit test stesso. Per informazioni su come creare e utilizzare un file app.config, vedere Procedura dettagliata: utilizzo di un file di configurazione per definire un'origine dati.

Nota

Se si ha familiarità con le stringhe di connessione ai dati, è possibile digitare la stringa dopo la prima parentesi quadra dell'elemento [TestMethod ()] invece di utilizzare la finestra delle proprietà.

[DataSource (stringa di connessione ai dati qui) TestMethod ()]

Per connettere lo unit test all'origine dati

  1. Aprire la soluzione contenente il metodo di test per il quale si desidera utilizzare un'origine dati.

  2. Scegliere Finestre dal menu Test e quindi Visualizzazione test.

  3. Nella finestra Visualizzazione test fare clic con il pulsante destro del mouse sullo unit test per il quale si desidera utilizzare un'origine dati e scegliere Proprietà.

  4. Nel finestra Proprietà fare clic su Stringa di connessione ai dati, quindi fare clic sui puntini di sospensione (...).

  5. Seguire le istruzioni in Creazione guidata nuova origine dati dei test per creare la connessione ai dati.

    Una stringa di connessione verrà aggiunta allo unit test dopo la prima parentesi quadra dell'elemento [TestMethod ()].

Assegnare variabili per accettare i valori dall'origine dati

Si tratta della seconda fase della configurazione di uno unit test per l'utilizzo di un'origine dati. In questa fase si assegnano le variabili del metodo per il recupero dei relativi valori dalla colonna appropriata dell'origine dati.

Per assegnare variabili ai valori dell'origine dati

  1. Aprire il file dello unit test contenente il metodo di test per il quale si desidera utilizzare un'origine dati e individuare le variabili.

  2. Per ogni variabile che si desidera recuperare dall'origine dati, utilizzare la sintassi TestContext.DataRow["NomeColonna"].

Nota

Potrebbe essere necessario convertire i tipi di dati da quelli dell'origine dati in quelli del progetto di codice del test, come mostrato nell'esempio precedente.

Eseguire lo unit test e visualizzare i risultati.

Gli unit test basati sui dati si eseguono come qualsiasi altro unit test. È possibile visualizzare i risultati dettagliati per ogni riga di dati utilizzata dal test facendo doppio clic su quest'ultimo nella finestra Risultati test.

Per eseguire e visualizzare i risultati di uno unit test basato sui dati

  1. Fare clic con il pulsante destro del mouse in un punto qualsiasi nello unit test e quindi scegliere Esegui test.

  2. Al termine dell'esecuzione, fare doppio clic sul test nella finestra Risultati test per visualizzare i risultati di ciascuna iterazione nella finestra Risultati test basati sui dati.

Vedere anche

Riferimenti

TestContext

Concetti

Composizione di uno unit test

Procedura: creare ed eseguire uno unit test