Komponententestframework
Aktualisiert: November 2007
Das Komponententestframework unterstützt Komponententests in Visual Studio. Verwenden Sie beim Schreiben von Komponententests die Klassen und Member im Microsoft.VisualStudio.TestTools.UnitTesting-Namespace. Sie können diese Klassen sowohl beim Schreiben eigener Komponententests verwenden als auch beim Bearbeiten von Komponententests, die zuvor aus zu testendem Code generiert wurden.
Gruppen von Elementen
Um Ihnen einen besseren Überblick über das Komponententestframework zu geben, werden in diesem Abschnitt die Elemente des UnitTesting-Namespace ausgehend von ihrer Funktion in Gruppen unterteilt.
Hinweis: |
---|
Attributelemente, deren Namen auf die Zeichenfolge Attribute enden, können entweder mit oder ohne die Zeichenfolge Attribute verwendet werden. Beispielsweise haben die folgenden beiden Codebeispiele dieselbe Funktion: [TestClass()] [TestClassAttribute()] |
Elemente für datengesteuertes Testen
Verwenden Sie die folgenden Elemente zum Einrichten datengesteuerter Komponententests. Weitere Informationen finden Sie unter Codieren eines datengesteuerten Komponententests und unter Gewusst wie: Konfigurieren eines datengesteuerten Komponententests.
Attribute zur Einrichtung einer Aufrufreihenfolge
Ein um eines der folgenden Attribute ergänztes Codeelement wird zu dem von Ihnen angegebenen Zeitpunkt aufgerufen. Weitere Informationen finden Sie unter Struktur von Komponententests.
Für Assemblys
AssemblyInitialize und AssemblyCleanup werden unmittelbar nach dem Laden der Assembly und vor dem Entladen der Assembly aufgerufen.
AssemblyCleanupAttribute
Für Klassen
ClassInitialize und ClassCleanup werden unmittelbar nach dem Laden der Klasse und vor dem Entladen der Klasse aufgerufen.
ClassInitializeAttribute
Für Testmethoden
TestCleanupAttribute
Attribute zur Identifikation von Testklassen und Testmethoden
Jede Testklasse muss das TestClass-Attribut und jede Testmethode das TestMethod-Attribut aufweisen. Weitere Informationen finden Sie unter Struktur von Komponententests.
Assert-Klassen und zugehörige Ausnahmen
Mithilfe von Komponententests kann das Verhalten bestimmter Anwendungsfunktionen überprüft werden. Zu diesem Zweck fügen Sie verschiedene Assert-Anweisungen, Ausnahmen oder Attribute in den Test ein. Weitere Informationen finden Sie unter Verwenden der Assert-Klassen.
Die TestContext-Klasse
In den Eigenschaften der Testkontextklasse werden Informationen zum aktuellen Testlauf gespeichert. Die TestContext.DataRow-Eigenschaft und die TestContext.DataConnection-Eigenschaft enthalten beispielsweise Informationen, die für datengesteuerte Komponententests verwendet werden.
TestContext
Attribute zum Identifizieren und Sortieren von Tests
Die folgenden Attribute und die zugehörigen Werte werden im Eigenschaftenfenster von Visual Studio für einzelne Testmethoden angezeigt.
Auf diese Attribute sollte nicht im Code für einen Komponententest zugegriffen werden. Stattdessen werden durch das Festlegen der Attributwerte während der Entwicklung, entweder durch Sie in der Visual Studio-IDE oder durch das Team System-Testmodul, das Ausführungsverhalten und die Verwendungsmöglichkeiten für den Komponententest definiert.
Einige dieser Attribute werden beispielsweise als Spalten im Testlisten-Editor und im Fenster Testergebnisse angezeigt und können somit zum Gruppieren und Sortieren von Tests und Testergebnissen verwendet werden.
Eines dieser Attribute ist TestPropertyAttribute, mit dem einem Komponententest beliebige Metadaten hinzugefügt werden können. So können Sie z. B. eine Beschreibung des abschließenden Testlaufs hinzufügen, der mit dem betreffenden Test durchgeführt wird, indem Sie den Komponententest mit [TestProperty("TestPass", "Accessibility")] kennzeichnen. Oder Sie fügen einen ergänzenden Hinweis auf die Art des Tests ein: [TestProperty("TestKind", "Localization")]. Die durch Verwendung des Attributs erstellte Eigenschaft und der zugewiesene Eigenschaftenwert werden im Eigenschaftenfenster von Visual Studio unter der Überschrift Testspezifisch angezeigt.
Testkonfigurationsklassen
Attribute zum Generieren von Berichten
Die Attribute in diesem Abschnitt stellen eine Beziehung zwischen der Testmethode, für die sie angegeben wurden, und Entitäten in der Projekthierarchie eines Team Foundation Server-Teamprojekts her. Weitere Informationen finden Sie unter Gewusst wie: Aktivieren der Berichterstellung zu Testergebnissen.
CssIterationAttribute
Mit privaten Accessoren verwendete Klassen
Wie in Gewusst wie: Testen einer privaten Methode beschrieben, kann ein Komponententest für eine private Methode generiert werden. Bei dieser Generierung wird eine private Accessorklasse erstellt, die ein Objekt der PrivateObject-Klasse instanziiert. Die PrivateObject-Klasse ist eine Wrapperklasse, die Reflektion als Teil des privaten Accessorprozesses verwendet. Sie ähnelt der PrivateType-Klasse, diese wird jedoch nicht zum Aufrufen privater Instanzmethoden, sondern zum Aufrufen privater statischer Methoden verwendet.
Siehe auch
Konzepte
Verwenden der TestContext-Klasse