Ausführen von Komponententests mit dem Test-Explorer
Mithilfe des Test-Explorers können Sie Komponententests aus Visual Studio oder Testprojekte von Drittanbietern ausführen, Tests in Kategorien gruppieren, die Testliste filtern sowie Testwiedergabelisten erstellen, speichern und ausführen.Zudem können Sie Tests debuggen und die Leistung und Codeabdeckung von Tests analysieren.
Inhalt
Komponententestframeworks und Testprojekte
Ausführen von Tests im Test-Explorer
Anzeigen von Testergebnissen
Gruppieren und Filtern der Testliste
Erstellen benutzerdefinierter Wiedergabelisten
Debugging und Analyse von Komponententests
Externe Ressourcen
Komponententestframeworks und Testprojekte
Visual Studio enthält die Komponententest-Frameworks von Microsoft für sowohl verwalteten als auch systemeigenen Code.Im Test-Explorer kann jedoch auch jedes Komponententest-Framework mit implementiertem Test-Explorer-Adapter ausgeführt werden.Weitere Informationen zum Installieren von Komponententest-Frameworks von Drittanbietern finden Sie unter Gewusst wie: Installieren von Frameworks für Komponententests von Drittanbietern
Im Test-Explorer können Tests aus mehreren Testprojekten in einer Projektmappe und aus Testklassen ausgeführt werden, die Teil der Produktionscodeprojekte sind.Für Testprojekte können verschiedene Komponententest-Frameworks verwendet werden.Wenn der zu testende Code für .NET Framework geschrieben wird, kann das Testprojekt in jeder ebenfalls auf .NET Framework abzielenden Sprache geschrieben werden, unabhängig von der Sprache des Zielcodes.Systemeigene C/C++-Codeprojekte müssen mithilfe eines Komponententest-Frameworks für C++ getestet werden.
Inhalt
Ausführen von Tests im Test-Explorer
Ausführen von Tests**|**Ausführen von Tests nach jedem Build
Wenn Sie das Testprojekt erstellen, werden die Tests im Test-Explorer angezeigt.Falls der Test-Explorer nicht geöffnet ist, wählen Sie im Visual Studio-Menü nacheinander Test, Fenster und dann Test-Explorer aus.
Beim Ausführen, Schreiben und erneuten Ausführen der Tests werden die Ergebnisse vom Test-Explorer in den Standardgruppen Fehlgeschlagene Tests, Bestandene Tests, Abgebrochene Tests und Nicht ausgeführte Tests angezeigt.Sie können die Gruppierung der Tests im Test-Explorer ändern.
Über die Test-Explorer-Symbolleiste können Sie die meisten Aktionen zum Suchen, Organisieren und Ausführen von Tests ausführen.
Inhalt
Durchführen von Tests
Sie können alle Tests in der Projektmappe, alle Tests in einer Gruppe oder einen Satz ausgewählter Tests ausführen.Führen Sie eine der folgenden Aktionen aus:
Wählen Sie zum Ausführen aller Tests in einer Projektmappe Alle ausführen aus.
Wählen Sie zum Ausführen aller Tests in einer Standardgruppe Ausführen... und dann im Menü die Gruppe aus.
Wählen Sie die einzelnen auszuführenden Tests aus, öffnen Sie das Kontextmenü eines ausgewählten Tests, und wählen Sie dann Ausgewählte Tests ausführen aus.
Während der Testausführung wird die oben im Fenster "Test-Explorer" angezeigte Erfolgreich/Fehler-Leiste animiert.Am Ende des Testlaufs wird die Erfolgreich/Fehler-Leiste grün, wenn alle Tests erfolgreich verlaufen, oder rot, falls ein beliebiger Test fehlschlägt.
Inhalt
Ausführen von Tests nach jedem Build
Vorsicht |
---|
Das Ausführen von Komponententests nach jedem Build wird in den Editionen Visual Studio Ultimate und Premium unterstützt. |
Wählen Sie zum Ausführen der Komponententests nach jedem lokalen Buildvorgang im Standardmenü Test und dann auf der Test-Explorer-Symbolleiste Nach dem Buildvorgang Tests ausführen aus. |
Inhalt
Anzeigen von Testergebnissen
Anzeigen von Testdetails**|**Anzeigen des Quellcodes einer Testmethode
Beim Ausführen, Schreiben und erneuten Ausführen der Tests werden die Ergebnisse vom Test-Explorer in den Gruppen Fehlgeschlagene Tests, Bestandene Tests, Abgebrochene Tests sowie Nicht ausgeführte Tests angezeigt.Im Detailbereich unten im Test-Explorer wird eine Zusammenfassung des Testlaufs angezeigt.
Anzeigen von Testdetails
Zum Anzeigen der Details eines einzelnen Tests wählen Sie den jeweiligen Test aus.
Im Testdetailbereich werden folgende Informationen angezeigt:
Quelldateiname und Zeilennummer der Testmethode
Teststatus
Ausführungsdauer der Testmethode
Bei einem fehlgeschlagenen Test wird im Detailbereich außerdem Folgendes angezeigt:
Die vom Komponententest-Framework für den Test zurückgegebene Meldung
Die Stapelüberwachung zum Zeitpunkt des Testfehlers
Inhalt
Anzeigen des Quellcodes einer Testmethode
Zum Anzeigen des Quellcodes einer Testmethode im Visual Studio-Editor wählen Sie den Test und anschließend im Kontextmenü Test öffnen (Tastatur: F12) aus.
Inhalt
Gruppieren und Filtern der Testliste
Gruppieren der Testliste**|Gruppieren nach Merkmalen|**Durchsuchen und Filtern der Testliste
Im Test-Explorer können Sie Tests in vordefinierte Kategorien gruppieren.In den meisten der im Test-Explorer ausführbaren Komponententest-Frameworks können Sie eigene Kategorien und Kategorie/Wert-Paare zum Gruppieren der Tests definieren.Sie können die Testliste auch durch das Vergleichen von Zeichenfolgen mit Testeigenschaften filtern.
Gruppieren der Testliste
Zum Ändern der Testunterteilung wählen Sie den neben der Schaltfläche Gruppieren nach angezeigten Pfeil nach unten und anschließend neue Gruppierungskriterien aus.
Test-Explorer-Gruppen
Gruppieren |
Beschreibung |
---|---|
Dauer |
Die Tests werden nach Ausführungszeit gruppiert: Schnell, Mittel und Langsam. |
Ergebnis |
Die Tests werden nach Ausführungsergebnis gruppiert: Fehlgeschlagene Tests, Übersprungene Tests und Bestandene Tests. |
Merkmale |
Gruppiert Tests nach von Ihnen definierten Kategorie/Wert-Paaren.Die Syntax zum Angeben von Merkmalskategorien und -werten wird durch das Komponententest-Framework festgelegt. |
Projekt |
Gruppiert Tests nach den Namen der Projekte. |
Inhalt
Gruppieren nach Merkmalen
In der Regel handelt es sich bei Merkmalen um Kategoriename/Wert-Paare, ein Merkmal kann jedoch auch eine einzelne Kategorie darstellen.Merkmale können Methoden zugewiesen werden, die im Komponententest-Framework als Testmethoden identifiziert sind.In einem Komponententest-Framework können Merkmalskategorien definiert werden.Außerdem können Sie den Merkmalskategorien Werte hinzufügen, um eigene Kategoriename/Wert-Paare zu definieren.Die Syntax zum Angeben von Merkmalskategorien und -werten wird durch das Komponententest-Framework festgelegt.
Merkmale im Microsoft-Komponententest-Framework für verwalteten Code
Im Microsoft-Komponententest-Framework für verwaltete Apps wird ein Merkmalsname/Wert-Paar in einem TestPropertyAttribute-Attribut definiert.Das Testframework weist zudem folgende vordefinierte Merkmale auf:
Merkmal |
Beschreibung |
---|---|
Die Kategorie "Besitzer" wird vom Komponententest-Framework definiert. Sie müssen einen Zeichenfolgenwert für den Besitzer angeben. |
|
Die Kategorie "Priorität" wird vom Komponententest-Framework definiert. Sie müssen einen ganzzahligen Wert für die Priorität angeben. |
|
Mithilfe des TestCategory-Attributs können Sie eine Kategorie ohne Wert angeben.Bei einer durch das TestCategory-Attribut definierten Kategorie kann es sich auch um die Kategorie eines TestProperty-Attributs handeln. |
|
Mithilfe des TestProperty-Attributs können Sie Merkmalskategorie/Wert-Paare definieren. |
Merkmale im Microsoft-Komponententest-Framework für C++
Verwenden Sie zum Definieren eines Merkmals das TEST_METHOD_ATTRIBUTE-Makro.Beispiel – Definieren eines Merkmals mit dem Namen TEST_MY_TRAIT:
#define TEST_MY_TRAIT(traitValue) TEST_METHOD_ATTRIBUTE(L"MyTrait", traitValue)
Verwenden des definierten Merkmals in den Komponententests:
BEGIN_TEST_METHOD_ATTRIBUTE(Method1)
TEST_OWNER(L"OwnerName")
TEST_PRIORITY(1)
TEST_MY_TRAIT(L"thisTraitValue")
END_TEST_METHOD_ATTRIBUTE()
TEST_METHOD(Method1)
{
Logger::WriteMessage("In Method1");
Assert::AreEqual(0, 0);
}
C++-Merkmalsattributmakros
Makro |
Beschreibung |
---|---|
TEST_METHOD_ATTRIBUTE(attributeName, attributeValue) |
Verwenden Sie zum Definieren eines Merkmals das TEST_METHOD_ATTRIBUTE-Makro. |
TEST_OWNER(ownerAlias) |
Verwenden Sie das vordefinierte Merkmal "Besitzer", um einen Besitzer der Testmethode anzugeben. |
TEST_PRIORITY(priority) |
Verwenden Sie das vordefinierte Merkmal "Priorität", um den Testmethoden relative Prioritäten zuzuweisen. |
Inhalt
Durchsuchen und Filtern der Testliste
Verwenden Sie Test-Explorer-Filter, um die Testmethoden einzuschränken, die in Ihren Projekten angezeigt und ausgeführt werden können.
Wenn Sie im Suchfeld des Test-Explorers eine Zeichenfolge eingeben und die EINGABETASTE drücken, wird die Liste so gefiltert, dass nur Tests angezeigt werden, deren vollqualifizierter Name die Zeichenfolge aufweist.
Filtern nach einem anderen Kriterium:
Öffnen Sie die rechts neben dem Suchfeld angezeigte Dropdownliste.
Wählen Sie ein neues Kriterium aus.
Geben Sie zwischen den Anführungszeichen den Filterwert ein.
Hinweis |
---|
Bei Suchvorgängen wird die Groß-/Kleinschreibung nicht beachtet, und die angegebene Zeichenfolge kann einem die oft ausgegebene Befehlszeilen Teil des Kriteriumswerts entsprechen. |
Qualifizierer |
Beschreibung |
---|---|
Merkmal |
Durchsucht sowohl die Merkmalskategorie als auch den Wert nach Übereinstimmungen.Die Syntax zum Angeben von Merkmalskategorien und -werten wird durch das Komponententest-Framework festgelegt. |
Projekt |
Durchsucht die Testprojektnamen nach Übereinstimmungen. |
Fehlermeldung |
Durchsucht die von fehlerhaften Asserts zurückgegebenen benutzerdefinierte Fehlermeldungen nach Übereinstimmungen. |
Dateipfad |
Durchsucht die vollqualifizierten Dateinamen der Testquelldateien nach Übereinstimmungen. |
Vollqualifizierter Name |
Durchsucht die vollqualifizierten Dateinamen von Testnamespaces, Klassen und Methoden nach Übereinstimmungen. |
Ausgabe |
Durchsucht die benutzerdefinierten Fehlermeldungen, die als Standardausgabe (stdout) oder Standardfehler (stderr) geschrieben werden.Die Syntax zum Angeben von Ausgabemeldungen wird durch das Komponententest-Framework festgelegt. |
Ergebnis |
Durchsucht die Test-Explorer-Kategorienamen nach Übereinstimmungen: Fehlgeschlagene Tests, Abgebrochene Tests und Bestandene Tests. |
Verwenden Sie folgende Syntax, um eine Teilmenge von Filterergebnissen auszuschließen :
FilterName:"Criteria" -FilterName:"SubsetCriteria"
Beispiel:
FullName:"MyClass" - FullName:"PerfTest"
Gibt alle Tests mit "MyClass" im Namen zurück, mit Ausnahme der Tests, deren Namen auch "PerfTest" enthalten.
Inhalt
Erstellen benutzerdefinierter Wiedergabelisten
Sie können eine Liste mit Tests erstellen und speichern, die als Gruppe ausgeführt oder angezeigt werden sollen.Wenn Sie eine Wiedergabeliste auswählen, werden die Tests in der Liste im Test-Explorer angezeigt.Sie können einen Test zu mehr als einer Wiedergabeliste hinzufügen, und bei Auswahl der Standardwiedergabeliste Alle Tests sind alle Tests im Projekt verfügbar.
Wählen Sie zum Erstellen einer Wiedergabeliste im Komponententest-Explorer mindestens einen Test aus.Wählen Sie im Kontextmenü Neue Wiedergabeliste und dann Zu Wiedergabeliste hinzufügen aus.Speichern Sie die Datei unter dem im Dialogfeld Neue Wiedergabeliste erstellen angegebenen Namen und Speicherort.
Wählen Sie zum Hinzufügen von Tests zu einer Wiedergabeliste im Komponententest-Explorer mindestens einen Test aus.Wählen Sie im Kontextmenü Zu Wiedergabeliste hinzufügen und anschließend die Wiedergabeliste aus, der die Tests hinzugefügt werden sollen.
Wählen Sie zum Öffnen einer Wiedergabeliste im Visual Studio-Menü "Test" aus. Anschließend können Sie entweder aus der Liste der zuletzt verwendeten Wiedergabelisten oder die Option "Wiedergabelistendatei öffnen" auswählen, um den Namen und Speicherort der Wiedergabeliste anzugeben.
Inhalt
Debugging und Analyse von Komponententests
Debugging von Komponententests**|Diagnose von Leistungsproblemen bei Testmethoden|**Analysieren der Codeabdeckung für Komponententests
Debugging von Komponententests
Mit dem Test-Explorer können Sie Debugsitzungen für Tests starten.Beim schrittweisen Durchlaufen des Codes mit dem Visual Studio-Debugger wechseln Sie nahtlos zwischen den Komponententests und dem zu testenden Projekt hin und zurück.Starten des Debuggens:
Legen Sie im Visual Studio-Editor in mindestens einer zu debuggenden Testmethode einen Haltepunkt fest.
Hinweis Da Testmethoden in jeder die oft ausgegebene Befehlszeilen Reihenfolge ausgeführt werden können, legen Sie Haltepunkte in allen Testmethoden fest, die Sie debuggen möchten.
Wählen Sie im Test-Explorer die Testmethoden und dann im Kontextmenü Ausgewählte Tests debuggen aus.
Weitere Informationen zum Debugger finden Sie unter Debuggen in Visual Studio.
Inhalt
Diagnose von Leistungsproblemen bei Testmethoden
Um die Ursache zu ermitteln, weshalb die Ausführung einer Testmethode zu lange dauert, wählen Sie im Komponententest-Explorer die Methode und anschließend im Kontextmenü "Profil" aus.Siehe Analysieren der Anwendungsleistung mithilfe der Profilerstellungstools.
Analysieren der Codeabdeckung für Komponententests
Hinweis |
---|
Die Codeabdeckung für Komponententest ist nur in Visual Studio Ultimate und Visual Studio Premium verfügbar. |
MIthilfe des Codeabdeckungstools von Visual Studio können Sie die Menge des Produktcodes ermitteln, die tatsächlich von den Komponententests getestet wird.Das Codeabdeckungstool kann für ausgewählte oder alle Tests in einer Projektmappe ausgeführt werden.
Ausführen des Codeabdeckungstools für Testmethoden in einer Projektmappe:
Wählen Sie im Visual Studio-Menü Tests und anschließend Codeabdeckung analysieren aus.
Wählen Sie in Untermenü einen der folgenden Befehle aus:
Mit Ausgewählte Tests werden die im Test-Explorer ausgewählten Testmethoden analysiert.
Mit Alle Tests werden alle Testmethoden in der Projektmappe analysiert.
Im Fenster "Codeabdeckungsergebnisse " wird der Prozentsatz der durchlaufenen Produktcodeblöcke angezeigt, angeordnet nach Zeile, Funktion, Klasse, Namespace und Modul.
Weitere Informationen finden Sie unter Bestimmen des Umfangs des zu testenden Codes mithilfe von Codeabdeckung.
Inhalt
Externe Ressourcen
Empfehlungen
Siehe auch
Konzepte
Überprüfen von Code mithilfe von Komponententests
Gewusst wie: Ausführen eines Komponententest als 64-Bit-Prozess