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.

Back to topInhalt

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.

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

Run tests from the Test Explorer toolbar

Back to topInhalt

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.

Back to topInhalt

Ausführen von Tests nach jedem Build

WarnhinweisVorsicht

Das Ausführen von Komponententests nach jedem Build wird in den Editionen Visual Studio Ultimate und Premium unterstützt.

Run after build

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.

Back to topInhalt

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.

Test execution details

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

Back to topInhalt

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.

Back to topInhalt

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 Test Explorer group buttonGruppieren nach angezeigten Pfeil nach unten und anschließend neue Gruppierungskriterien aus.

Group tests by category in Test Explorer

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.

Back to topInhalt

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

OwnerAttribute

Die Kategorie "Besitzer" wird vom Komponententest-Framework definiert. Sie müssen einen Zeichenfolgenwert für den Besitzer angeben.

PriorityAttribute

Die Kategorie "Priorität" wird vom Komponententest-Framework definiert. Sie müssen einen ganzzahligen Wert für die Priorität angeben.

TestCategoryAttribute

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.

TestPropertyAttribute

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.

Back to topInhalt

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.

Filter tests in Test Explorer

HinweisHinweis

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.

Back to topInhalt

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.

Choose a playlist

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.

Back to topInhalt

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:

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

    HinweisHinweis

    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.

Back to topInhalt

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

HinweisHinweis

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:

  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.

Back to topInhalt

Externe Ressourcen

Empfehlungen

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

Siehe auch

Konzepte

Überprüfen von Code mithilfe von Komponententests

Gewusst wie: Ausführen eines Komponententest als 64-Bit-Prozess