Condividi tramite


Usare classi Assert per il testing unità

Usare le classi Assert dello spazio dei nomi Microsoft.VisualStudio.TestTools.UnitTesting per verificare funzionalità specifiche. Un metodo di unit test verifica il codice di un metodo nel codice dell'applicazione, ma segnala la correttezza del comportamento del codice soltanto se sono incluse istruzioni Assert.

Tipi di classi Assert

Lo spazio dei nomi Microsoft.VisualStudio.TestTools.UnitTesting rende disponibili diversi tipi di classi Assert.

Nel metodo di test è possibile chiamare tutti i metodi della classe Microsoft.VisualStudio.TestTools.UnitTesting.Assert, ad esempio Assert.AreEqual. La classe Assert offre numerosi metodi tra cui scegliere e molti dei metodi presentano vari overload.

Confrontare stringhe e raccolte

Usare la classe CollectionAssert per confrontare raccolte di oggetti o verificare lo stato di una raccolta.

Usare la classe StringAssert per confrontare ed esaminare le stringhe. Questa classe contiene numerosi metodi utili, ad esempio StringAssert.Contains, StringAssert.Matches e StringAssert.StartsWith.

Eccezioni

L'eccezione AssertFailedException viene generata ogni volta che un test ha esito negativo. Un test ha esito negativo se raggiunge il timeout, genera un'eccezione imprevista o contiene un'istruzione Assert che produce un risultato Non superato.

L'eccezione AssertInconclusiveException viene generata ogni volta che un test produce un risultato Senza risultati. In genere, un'istruzione Assert.Inconclusive viene aggiunta a un test su cui si sta lavorando per indicare che non è ancora pronto per l'esecuzione.

Nota

Una strategia alternativa è contrassegnare un test che non è pronto per l'esecuzione usando l'attributo IgnoreAttribute. Questa strategia ha però lo svantaggio di non poter consentire la semplice generazione di un report sul numero di test rimasti da implementare.

Se si scrive una nuova classe di eccezione Assert, ereditare la classe di base UnitTestAssertException in modo da semplificare l'identificazione dell'eccezione come errore di asserzione, anziché come eccezione imprevista generata dal codice di test o di produzione.

Per verificare che un'eccezione di cui è prevista la generazione da parte di un metodo nel codice dell'applicazione sia effettivamente generata, usare il metodo Assert.ThrowsException.

Vedi anche