Condividi tramite


Framework per unit test

Aggiornamento: novembre 2007

Il Framework per unit test supporta l'esecuzione di unit test in Visual Studio. Per la codifica degli unit test, utilizzare le classi e i membri nello spazio dei nomi Microsoft.VisualStudio.TestTools.UnitTesting. Questi elementi devono essere utilizzati quando si scrivono unit test completamente nuovi oppure quando si definiscono unit test generati dal codice sottoposto al test.

Gruppi di elementi

Per fornire una panoramica più accurata del Framework per unit test, in questa sezione gli elementi dello spazio dei nomi UnitTesting vengono organizzati in gruppi di funzioni correlate.

Nota:

Gli elementi dell'attributo, i cui nomi terminano con la stringa Attribute, possono essere utilizzati con o senza la stringa Attribute. Ad esempio, nei due seguenti esempi di codice il funzionamento è identico:

[TestClass()]

[TestClassAttribute()]

Elementi utilizzati per il test basato sui dati

Utilizzare i seguenti elementi per impostare unit test basati sui dati. Per ulteriori informazioni, vedere Codifica di unit test basati sui dati e Procedura: configurare unit test basati su dati.

Attributi utilizzati per stabilire un ordine di chiamata

Un elemento di codice decorato con uno dei seguenti attributi viene chiamato al momento specificato. Per ulteriori informazioni, vedere Struttura di unit test.

Per gli assembly

AssemblyInitialize e AssemblyCleanup vengono chiamati subito dopo che l'assembly è stato caricato e subito prima che l'assembly venga scaricato.

Per le classi

ClassInitialize e ClassCleanup vengono chiamati subito dopo che la classe è stata caricata e subito prima che la classe venga scaricata.

Per i metodi di test

Attributi utilizzati per identificare le classi e i metodi di test

Tutte le classi di test devono disporre dell'attributo TestClass e tutti i metodi di test devono disporre dell'attributo TestMethod. Per ulteriori informazioni, vedere Struttura di unit test.

Classi Assert ed eccezioni correlate

Gli unit test consentono di verificare il comportamento di specifiche applicazioni grazie all'utilizzo di vari tipi di istruzioni Assert, eccezioni e attributi. Per ulteriori informazioni, vedere Utilizzo di classi Assert.

Classe TestContext

Le proprietà della classe di contesto del test consentono di memorizzare informazioni sull'esecuzione dei test corrente. Ad esempio, le proprietà TestContext.DataRow e TestContext.DataConnection contengono informazioni utilizzate dal test per unit test basati sui dati.

Attributi per l'identificazione e l'ordinamento di test

I seguenti attributi e relativi valori vengono visualizzati nella finestra Proprietà Visual Studio per un determinato metodo di test.

Questi attributi non sono stati realizzati per accedere tramite il codice dello unit test. Invece, sono in grado di modificare l'utilizzo o l'esecuzione di unit test tramite l'ambiente IDE di Visual Studio oppure tramite il modulo del test Team System.

Ad esempio, alcuni di questi attributi sono visualizzati come colonne nell'Editor elenco dei test e nella finestra Risultati test e possono quindi essere utilizzati per raggruppare e ordinare i test e i relativi risultati.

Uno di questi attributi è TestPropertyAttribute, che consente di aggiungere i metadati arbitrari agli unit test. Ad esempio, è possibile utilizzarlo per memorizzare il nome dell'esito del test coperto da questo test, contrassegnando lo unit test con [TestProperty("TestPass", "Accessibility")]. Oppure, per memorizzare un indicatore del tipo di test l'attributo è: [TestProperty("TestKind", "Localization")]. La proprietà che viene creata utilizzando questo attributo e il valore della proprietà che viene assegnato vengono visualizzati nella finestra Proprietà di Visual Studio sotto l'intestazione Specifico del test.

Classi di configurazione del test

Attributi utilizzati per la generazione di report

Gli attributi in questa sezione consentono di collegare il metodo decorato alle entità nella gerarchia del progetto di un progetto team Team Foundation Server. Per ulteriori informazioni, vedere Procedura: attivare la generazione report dei risultati dei test.

Classi utilizzate con accessi privati

Come descritto in Procedura: testare un metodo privato, è possibile generare uno unit test per un metodo privato. Tale operazione crea una classe di accesso privata che consente di creare istanze di un oggetto della classe PrivateObject. La classe PrivateObject è una classe wrapper in cui la reflection viene utilizzata come parte del processo di accesso privato. La classe PrivateType è simile ma viene utilizzata per chiamare i metodi statici privati anziché i metodi di istanza privata.

Vedere anche

Concetti

Utilizzo di classi Assert

Utilizzo della classe TestContext

Riferimenti

Microsoft.VisualStudio.TestTools.UnitTesting