Freigeben über


Übersicht über Komponententests

Komponententests sind programmgesteuerte Tests, die in Visual C#, Visual Basic oder Visual C++ geschrieben werden. Tests in Visual C++ müssen mit /clr:safe kompiliert werden.

Hinweis

Weitere Informationen über die Verwendung von Komponententests mit C++-Produktionscode und von in C++ geschriebenen Komponententests finden Sie unter Komponententests und C++.

Mithilfe von Komponententests kann ein Quellcode getestet werden, indem die Methoden einer Klasse direkt aufgerufen und für den Test geeignete Parameter übergeben werden. Wenn Sie Assert-Anweisungen einfügen, können dann die Ergebniswerte mit den erwarteten Werten verglichen werden. Komponententestmethoden befinden sich in Testklassen, die in Quellcodedateien gespeichert werden.

Komponententests können mit einem Feature zur Codegenerierung erstellt werden, das den anfänglichen Quellcode für den Test erstellt, oder Sie können den Test vollständig von Hand schreiben. In beiden Fällen werden die Testklasse und sämtliche Testmethoden anhand programmgesteuerter Attribute identifiziert.

Jede Testklasse wird mit dem [TestClass()]-Attribut gekennzeichnet. Jeder Komponententest ist eine Testmethode, die mit dem [TestMethod()]-Attribut gekennzeichnet wird. Diese Attribute werden beim Generieren von Komponententests automatisch zugewiesen. Wenn Sie Code für Komponententests von Hand schreiben, müssen Sie die Klassen- und Methodenattribute selbst hinzufügen. Weitere Informationen finden Sie unter Struktur von Komponententests.

Generieren von Komponententests

Sie können Komponententests in einem Dialogfeld generieren, zu dem Sie über die Fenster des Tools Visual Studio gelangen. Jeder Komponententest wird als Methode in C#, Visual Basic oder Visual C++ erstellt. Der Code und die Attribute des Tests befinden sich in einer Quelldatei in einem für dieselbe Sprache erstellten Testprojekt. Der neue Test zielt auf einen bestimmten Code ab, den Sie testen möchten. Sie können einen einzelnen Komponententest für eine bestimmte Methode generieren, oder Sie können mehrere Tests für ausgewählte Methoden oder für alle Methoden in einer Klasse oder einem Namespace erzeugen.

Der Code eines neu generierten Tests wird kompiliert, doch um sinnvolle Testergebnisse zu liefern, muss er noch bearbeitet werden. Sie können den Test beispielsweise bearbeiten, um Variablenzuweisungen vorzunehmen und Assert-Anweisungen anzupassen. Generierte Komponententests enthalten TODO-Anweisungen, die anzeigen, welche Codezeilen bearbeitet werden müssen.

Hinweis

Testtools in Team System verwendet beim Generieren von Komponententests bestimmte Namenskonventionen. Beispielweise wird einer Testdatei ein Name zugewiesen, der sich aus dem Wort "Test" und dem Namen der Datei zusammensetzt, die den zu testenden Code enthält (z. B. "Class1Test.cs"). Die Namen der Testklassen und Testmethoden werden ebenfalls nach Standardvorgaben generiert. Diese Vorgaben können im Dialogfeld Konfiguration für Testgenerierung geändert werden. Klicken Sie zum Öffnen des Dialogfelds im Dialogfeld Generieren von Komponententest auf Konfigurieren.

Weitere Informationen finden Sie unter Gewusst wie: Generieren eines Komponententests.

Schreiben von Komponententests

Sie können einen Komponententest auch von Hand schreiben, ohne das Generierungsfeature zu verwenden. Fügen Sie hierzu am Besten einen Komponententest zu einem Testprojekt hinzu. Auf diese Weise wird eine leere Testmethode erstellt, die keinen Code enthält, jedoch über das [TestMethod()]-Attribut verfügt. Um den Test fertig zu stellen, müssen Sie die zugehörige Quelldatei bearbeiten, die sich in der Projektmappe in einem Testprojekt befindet. Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines Komponententests und unter Struktur von Komponententests.

Das Komponententestframework

Das Komponententestframework stellt eine Vielzahl zusätzlicher Assert-Klassen und anderer Klassen zur Verfügung, mit denen Sie das Schreiben von Komponententests flexibler gestalten können. Weitere Informationen finden Sie in der Dokumentation zum Namespace und zu den Typen des Komponententestframeworks unter Microsoft.VisualStudio.TestTools.UnitTesting.

Testen von privaten Methoden

Mit Komponententests können Sie nicht nur öffentliche, sondern auch private Methoden testen. Ebenso wie bei öffentlichen Methoden werden Komponententests für private Methoden automatisch erstellt, wenn Sie Tests aus dem Code generieren, den Sie testen möchten. Weitere Informationen finden Sie unter Gewusst wie: Testen einer privaten Methode und unter Gewusst wie: Erneutes Generieren von privaten Accessoren.

Spezielle Komponententests

Weitere Arten von Komponententests sind datengesteuerte Komponententests, ASP.NET-Komponententests, und Webdienstkomponententests. Ein datengesteuerter Test ist ein Komponententest, der so konfiguriert wird, dass er für jede Zeile einer Datenquelle aufgerufen wird. Die Daten aus jeder Zeile stehen bei jeder nachfolgenden Testausführung als Eingabedaten zur Verfügung. Weitere Informationen finden Sie unter Übersicht über datengesteuerte Komponententests. ASP.NET-Komponententests dienen zum Ausführen von Code in einer ASP.NET-Anwendung, wenn diese auf Seitenanforderungen reagiert. ASP.NET-Komponententests werden innerhalb der getesteten ASP.NET-Anwendung ausgeführt. Weitere Informationen finden Sie unter Übersicht über ASP.NET-Komponententests. Informationen zu Webdienstkomponententests finden Sie unter Testen von Webdiensten.

Siehe auch

Konzepte

Struktur von Komponententests
Komponententests und C++

Weitere Ressourcen

Arbeiten mit ASP.NET-Komponententests
Arbeiten mit datengesteuerten Komponententests
Verwalten von Tests
Ausführen von Tests
Testergebnisse und Analyse