Verwenden der TestContext-Klasse
Aktualisiert: November 2007
Die TestContext-Klasse wird in Komponententests für verschiedene Zwecke verwendet. Diese sind die häufigsten Verwendungen:
In jedem Komponententest, da in der TestContext-Klasse Informationen gespeichert werden, die für Komponententests bereitgestellt werden, z. B. der Pfad zum Bereitstellungsverzeichnis. Weitere Informationen finden Sie unter Struktur von Komponententests.
In Komponententests für Webdienste, die auf ASP.NET Development Server ausgeführt werden. In diesem Fall speichert TestContext die URL des Webdiensts. Weitere Informationen finden Sie unter Testen von Webdiensten.
In ASP.NET-Komponententests, um Zugriff auf das Page-Objekt zu erhalten. Weitere Informationen finden Sie unter Arbeiten mit ASP.NET-Komponententests.
In datengesteuerten Komponententests ist die TestContext-Klasse erforderlich, da sie den Zugriff auf die Datenzeile ermöglicht. Weitere Informationen finden Sie unter Arbeiten mit datengesteuerten Komponententests, Codieren eines datengesteuerten Komponententests und Exemplarische Vorgehensweise: Verwenden einer Konfigurationsdatei zum Definieren einer Datenquelle.
Abrufen von TestContext
Beim Ausführen eines Komponententests erhalten Sie automatisch eine konkrete Instanz des TestContext-Typs, wenn in der Testklasse, die Ihre Komponententestmethode enthält, eine TestContext-Eigenschaft definiert ist. Die über die Testdauer verwendeten TestContext-Member werden vom Komponententestframework automatisch mit Daten aufgefüllt. (Weitere Informationen über die TestContext-Member finden Sie unter TestContext.) Das bedeutet, dass Sie den TestContext-Typ in Ihrem Code nicht instanziieren oder ableiten müssen. Sie können ihn einfach direkt verwenden. Er verfügt über IntelliSense-Unterstützung.
Nicht jede Testklasse verfügt automatisch über eine definierte TestContext-Eigenschaft. Das ist davon abhängig, wie Sie den Test erstellt haben.
Wann die TestContext-Eigenschaft automatisch definiert wird
Beim Generieren eines Komponententests vom Code aus wird die TestContext-Eigenschaft automatisch definiert. Weitere Informationen über die Möglichkeiten, Komponententests zu erstellen, finden Sie unter Gewusst wie: Generieren eines Komponententests.
Wann die TestContext-Eigenschaft nicht automatisch definiert wird
Sie können Komponententests auch auf andere Arten erstellen, statt sie automatisch zu generieren. Die TestContext-Eigenschaft wird für Ihre Testklasse nicht automatisch definiert, wenn Sie den Test auf eine der folgenden Arten erstellen:
Manuelles Codieren einer neuen Testklasse
Hinzufügen einer neuen Komponententestdatei zum Projekt. Dazu können Sie beispielsweise im Menü Test die Option Neuer Test auswählen und anschließend im Dialogfeld Neuen Test hinzufügen die Option Komponententest auswählen.
In diesen Fällen müssen Sie die TestContext-Eigenschaft manuell hinzufügen. Weitere Informationen zum Schreiben von Komponententests finden Sie unter Gewusst wie: Erstellen eines Komponententests.
TestContext-Beispiel
Um TestContext zu verwenden, erstellen Sie einen Member und eine Eigenschaft innerhalb der Testklasse wie im folgenden Bespiel 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;
}
}
Das Testframework legt die Eigenschaft, die Sie anschließend in Komponententests verwenden können, automatisch fest.
Siehe auch
Aufgaben
Gewusst wie: Erstellen eines Komponententests
Konzepte
Codieren eines datengesteuerten Komponententests
Testen von Websites und Webdiensten in einer Teamumgebung
Referenz
TestContext
Weitere Ressourcen
Gewusst wie: Generieren eines Komponententests