Ausführen von Komponententests mit dem Test-Explorer

 

Veröffentlicht: Februar 2016

Die neueste Dokumentation zu Visual Studio 2017 RC finden Sie unter Visual Studio 2017 RC Documentation (Dokumentation zu Visual Studio 2017 RC).

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.

Komponententestframeworks und Testprojekte

Ausführen von Tests im Test-Explorer

Testergebnisse anzeigen

Gruppieren und Filtern der Testliste

Erstellen benutzerdefinierter Wiedergabelisten

Debugging und Analyse von Komponententests

Externe Ressourcen

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 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.

Zurück nach oben Inhalt

Tests durchführen | 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.

Komponententest-Explorer

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.

Tests von der Test-Explorer-Symbolleiste ausführen

Zurück nach oben Inhalt

Tests durchführen

Sie können alle Tests in der Projektmappe, alle Tests in einer Gruppe oder einen Satz ausgewählter Tests ausführen. Führen Sie einen der folgenden Schritte 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.

  • Wenn einzelne Tests keine Abhängigkeiten haben, die verhindern, dass sie in beliebiger Reihenfolge ausgeführt werden können, sollten Sie parallele Testausführung über die UTE_parallelicon-small-Umschaltfläche auf der Symbolleiste aktivieren. Dadurch lässt sich die Zeit deutlich verkürzen, die zum Ausführen aller Tests erforderlich ist.

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.

Zurück nach oben Inhalt

Ausführen von Tests nach jedem Build

System_CAPS_ICON_warning.jpg Warnung

Das Ausführen von Komponententests nach jedem Buildvorgang wird in Visual Studio Enterprise unterstützt.

Run after buildWä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.

Zurück nach oben Inhalt

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.

Details zur Testausführung

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

Zurück nach oben 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.

Zurück nach oben Inhalt

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 Gruppenschaltfläche "Test-Explorer" und anschließend neue Gruppierungskriterien aus.

Tests im Test-Explorer nach Kategorie gruppieren

Test-Explorer-Gruppen

GruppierenBeschreibung
DauerDie Tests werden nach Ausführungszeit gruppiert: Schnell, Mittel und Langsam.
ErgebnisDie Tests werden nach Ausführungsergebnis gruppiert: Fehlgeschlagene Tests, Übersprungene Tests und Bestandene Tests.
MerkmaleGruppiert Tests nach von Ihnen definierten Kategorie/Wert-Paaren. Die Syntax zum Angeben von Merkmalskategorien und -werten wird durch das Komponententest-Framework festgelegt.
ProjektGruppiert Tests nach den Namen der Projekte.

Zurück nach oben 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:

MerkmalBeschreibung
OwnerAttributeDie Kategorie "Besitzer" wird vom Komponententest-Framework definiert. Sie müssen einen Zeichenfolgenwert für den Besitzer angeben.
PriorityAttributeDie Kategorie "Priorität" wird vom Komponententest-Framework definiert. Sie müssen einen ganzzahligen Wert für die Priorität angeben.
TestCategoryAttributeMithilfe 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.
TestPropertyAttributeMithilfe 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

MakroBeschreibung
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.

Zurück nach oben 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:

  1. Öffnen Sie die rechts neben dem Suchfeld angezeigte Dropdownliste.

  2. Wählen Sie ein neues Kriterium aus.

  3. Geben Sie zwischen den Anführungszeichen den Filterwert ein.

Tests im Test-Explorer filtern

System_CAPS_ICON_note.jpg Hinweis

Bei Suchvorgängen wird die Groß-/Kleinschreibung nicht beachtet, und die angegebene Zeichenfolge kann einem die oft ausgegebene Befehlszeilen Teil des Kriteriumswerts entsprechen.

QualifiziererBeschreibung
MerkmalDurchsucht sowohl die Merkmalskategorie als auch den Wert nach Übereinstimmungen. Die Syntax zum Angeben von Merkmalskategorien und -werten wird durch das Komponententest-Framework festgelegt.
ProjektDurchsucht die Testprojektnamen nach Übereinstimmungen.
FehlermeldungDurchsucht die von fehlerhaften Asserts zurückgegebenen benutzerdefinierte Fehlermeldungen nach Übereinstimmungen.
DateipfadDurchsucht die vollqualifizierten Dateinamen der Testquelldateien nach Übereinstimmungen.
Vollqualifizierter NameDurchsucht die vollqualifizierten Dateinamen von Testnamespaces, Klassen und Methoden nach Übereinstimmungen.
AusgabeDurchsucht die benutzerdefinierten Fehlermeldungen, die als Standardausgabe (stdout) oder Standardfehler (stderr) geschrieben werden. Die Syntax zum Angeben von Ausgabemeldungen wird durch das Komponententest-Framework festgelegt.
ErgebnisDurchsucht 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.

Zurück nach oben Inhalt

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.

Wiedergabeliste auswählen

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.

Wenn einzelne Tests keine Abhängigkeiten haben, die verhindern, dass sie in beliebiger Reihenfolge ausgeführt werden können, sollten Sie parallele Testausführung über die UTE_parallelicon-small-Umschaltfläche auf der Symbolleiste aktivieren. Dadurch lässt sich die Zeit deutlich verkürzen, die zum Ausführen aller Tests erforderlich ist.

Zurück nach oben Inhalt

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:

  1. Legen Sie im Visual Studio-Editor in mindestens einer zu debuggenden Testmethode einen Haltepunkt fest.

    System_CAPS_ICON_note.jpg 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.

  2. 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.

Zurück nach oben 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 Verwenden von Profilerstellungstools.

Analysieren der Codeabdeckung für Komponententests

System_CAPS_ICON_note.jpg Hinweis

Die Codeabdeckung für Komponententest ist nur in Visual Studio Enterprise 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:

  1. Wählen Sie im Visual Studio-Menü Tests und anschließend Codeabdeckung analysieren aus.

  2. 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.

Zurück nach oben Inhalt

Empfehlungen

Tests für fortlaufende Übermittlung mit Visual Studio 2012 – Kapitel 2: Komponententests – Interne Tests

Komponententest für Code
Ausführen eines Komponententest als 64-Bit-Prozess

Anzeigen: