Utilizzo della classe TestContext
Aggiornamento: novembre 2007
È possibile utilizzare la classe TestContext negli unit test per diversi scopi. Di seguito sono riportati gli utilizzi più frequenti:
In qualsiasi unit test, perché la classe TestContext archivia le informazioni fornite agli unit test, ad esempio il percorso della directory di distribuzione. Per ulteriori informazioni, vedere Struttura di unit test.
Negli unit test per testare servizi Web che vengono eseguiti nel server di sviluppo ASP.NET. In questo caso, TestContext archivia l'URL del servizio Web. Per ulteriori informazioni, vedere Test di servizi Web.
Negli unit test ASP.NET, per ottenere accesso all'oggetto Page. Per ulteriori informazioni, vedere Utilizzo di unit test ASP.NET.
Negli unit test basati sui dati la classe TestContext è richiesta perché fornisce accesso alla riga di dati. Per ulteriori informazioni, vedere Utilizzo di unit test basati su dati, Codifica di unit test basati sui dati e Procedura dettagliata: utilizzo di un file di configurazione per definire un'origine dati.
Come ottenere TestContext
Quando si esegue uno unit test, si ottiene automaticamente un'istanza concreta del tipo TestContext, se per la classe del test che contiene il metodo dello unit test è definita una proprietà TestContext. Il framework dello unit test popola automaticamente i membri di TestContext da utilizzare per tutta la durata dei test. Per ulteriori informazioni sui membri di TestContext, vedere TestContext. Questo significa che non è necessario creare un'istanza o derivare il tipo TestContext nel codice. È possibile iniziare semplicemente a utilizzarlo, in quanto include il supporto IntelliSense.
La proprietà TestContext non viene definita automaticamente per tutte le classi di test, ma a seconda di come è stato creato il test.
Proprietà TestContext definita automaticamente
La generazione di uno unit test dal codice definisce automaticamente la proprietà TestContext. Per ulteriori informazioni sulle modalità di generazione degli unit test, vedere Procedura: generare unit test.
Proprietà TestContext non definita automaticamente
È possibile creare unit test in diversi modi, ma non generandoli automaticamente. Se si crea il test in uno dei seguenti modi, per la classe di test non viene definita automaticamente una proprietà TestContext:
Generare il codice di una nuova classe di test manualmente.
Aggiungere al progetto un nuovo file di unit test. Ad esempio, per eseguire questa operazione è possibile scegliere Nuovo test dal menu Test e quindi selezionare Unit test nella finestra di dialogo Aggiungi nuovo test.
In questi casi, è necessario aggiungere manualmente la proprietà TestContext. Per ulteriori informazioni sulla generazione di codice degli unit test, vedere Procedura: modificare unit test.
Esempio di TestContext
Per utilizzare TestContext, creare un membro e una proprietà all'interno della classe di test, come nell'esempio seguente in C#.
private TestContext testContextInstance;
/// <summary>
///Gets or sets the test context which provides
///information about and functionality for the current test run.
///</summary>
public TestContext TestContext
{
get
{
return testContextInstance;
}
set
{
testContextInstance = value;
}
}
Il framework di test imposta automaticamente la proprietà, che è quindi possibile utilizzare negli unit test.
Vedere anche
Attività
Procedura: modificare unit test
Concetti
Codifica di unit test basati sui dati
Test di siti Web e di servizi Web in un ambiente di team
Riferimenti
TestContext