Ausführen von Komponententests mit dem Test-Explorer
Visual Studio-Test-Explorer hilft Ihnen, Komponententests im Entwicklungsprozess zu integrieren.Sie können Tests aus mehreren Testprojekten in einer Projektmappe und von den Testklassen ausführen, die Teil der Produktionscodeprojekte sind.Testprojekte können verschiedene Komponententest-Frameworks verwenden.In diesem Thema erhalten Sie über die folgenden Themen erfahren:
In diesem Abschnitt
Komponententestframeworks und Testprojekte
Ausführen von Tests im Test-Explorer
Tests werden ausgeführt
Ausführen von Tests nach jedem Build
Betrachtungstestergebnisse
Anzeigen von Testdetails
Anzeigen des Quellcodes einer Testmethode
Die Testliste gruppieren und Filtern
Gruppieren der Testliste
Gruppieren von Features
Die Testliste suchen und Filtern
Testeinheitstests
Analysieren von Komponententestcodeabdeckung
Diagnose von Testmethodenperformanceproblemen
Externe Ressourcen
- Empfehlungen
Komponententestframeworks und Testprojekte
Visual Studio enthält die Microsoft-Komponententestframeworks für verwalteten und systemeigenen Code für ein.kann jedoch Test-Explorer jedes Komponententestframework ausführen, das einen Test-Explorer-Adapter implementiert hat.Weitere Informationen zum Installieren von Komponententest-Frameworks von Drittanbietern, finden Sie unter Gewusst wie: Installieren von Frameworks für Komponententests von Drittanbietern
Test-Explorer kann Tests aus mehreren Testprojekten in einer Projektmappe und von den Testklassen ausführen, die Teil der Produktionscodeprojekte sind.Testprojekte können verschiedene Komponententest-Frameworks verwenden.Wenn der getesteten Code für das .NET-Framework geschrieben wird, kann das Testprojekt in jede .NET-Sprache, unabhängig von der Sprache des Zielcodes geschrieben werden.Systemeigene C/C++-Codeprojekte müssen getestet werden, indem Komponententestframework in C++ verwendet.
In diesem Abschnitt
Ausführen von Tests im Test-Explorer
Wenn Sie das Testprojekt erstellen, werden die Tests im Test-Explorer.Wenn Test-Explorer nicht sichtbar ist, wählen Sie Test auf dem Visual Studio-Menü aus, wählen Sie Fenster aus und wählen dann Test-Explorer aus.
Wie Sie ausgeführt werden, schreiben Sie und überprüfen Sie die Tests, Test-Explorer-Anzeigen die Ergebnisse in den Standardgruppen von Fehlgeschlagene Tests, Bestandene Tests, Übersprungene Tests und Nicht ausgeführte Tests.Sie können ändern, wie Test-Explorer die Tests gruppiert.
Sie können einen Großteil der Arbeit zum Suchen, des zum Organisieren und der Ausführung von Tests in der Test-Explorer-Symbolleiste ausführen.
Tests werden ausgeführt
Sie können alle Tests in der Projektmappe, alle Tests in einer Gruppe oder einen Satz von Tests, die Sie auswählen.Führen Sie eine der folgenden Schritte aus:
Um alle Tests in einer Projektmappe zu machen, wählen Sie Alle ausführen.
Um alle Tests in einer Standardgruppe zu machen, wählen Sie Ausführen... und dann die Gruppe im Menü aus.
Wählen Sie die einzelnen Tests, die Sie ausführen möchten, öffnen das Kontextmenü für einen ausgewählten Test auswählen und dann Ausgewählte Tests ausführen aus.
Die Erfolg/Fehlerleiste oben im Test-Explorer-Fensters wird als die Testausführung animiert.Am Ende des Testlaufs dreht die Erfolg/Fehlerleiste grün, wenn alle Tests erfolgreich waren oder gedreht wird den fehlgeschlagenen Test Rotwenn vorhanden.
Ausführen von Tests nach jedem Build
Vorsicht |
---|
Das Ausführen von Komponententests nach jedem Build wird nur in Visual Studio Ultimate unterstützt. |
Um die Komponententests ausführen nach jedem lokale Build, Test im Standardmenü auswählen, wählen Sie Nach dem Buildvorgang Tests ausführen auf der Test-Explorer-Symbolleiste. |
In diesem Abschnitt
Betrachtungstestergebnisse
Wie Sie ausgeführt werden, schreiben Sie und überprüfen Sie die Tests, Test-Explorer-Anzeigen die Ergebnisse in Gruppen von Fehlgeschlagene Tests, Bestandene Tests, Übersprungene Tests und Nicht ausgeführte Tests.Im Detailbereich unten im Test-Explorer zeigt eine Zusammenfassung des Testlaufs angezeigt.
Anzeigen von Testdetails
Um die Details eines einzelnen Tests anzuzeigen, wählen Sie den Test aus.
Der Testdetailbereich zeigt die folgenden Informationen an:
Der Quelldateiname und die Zeilennummer der Testmethode.
Der Status des Tests.
Die Laufzeit, die die Testmethode der Ausführung des.
Wenn der Test fehlschlägt, die des Detailbereichs Anzeigen auch:
Die Meldung zurückgegeben durch das Komponententestframework für den Test.
Die Stapelüberwachung, als der Test fehlgeschlagen ist.
Anzeigen des Quellcodes einer Testmethode
Um den Quellcode für eine Testmethode im Visual Studio-Editor anzuzeigen, wählen Sie den Test aus und wählen dann Test öffnen im Kontextmenü (Tastatur aus: F12).
In diesem Abschnitt
Die Testliste gruppieren und Filtern
Test-Explorer können Sie die Tests in vordefinierte Kategorien gruppieren.Die meisten Komponententest-Frameworks, die in Test-Explorer ausgeführt werden, können Sie eigene Kategorien und Kategorie/Wert-Paare definieren, um die Tests zu gruppieren.Sie können die Liste von Tests nach übereinstimmenden Zeichenfolgen für Testeigenschaften auch filtern.
Gruppieren der Testliste
Um die Methode zu ändern die Tests organisiert werden, wählen Sie den Pfeil nach unten neben der Schaltfläche und Gruppieren nach wählen Sie neue gruppierende Kriterien aus.
Test-Explorer-Gruppen
Gruppieren |
Beschreibung |
---|---|
Dauer |
Gruppen testen bis zur Ausführungszeit: Fast, Mittel und langsam. |
Ergebnis |
Gruppentests durch Ausführungsergebnisse: Fehlgeschlagene Tests, Übersprungene Tests, Bestandene Tests. |
Features |
Gruppen testen bycategory Attribut-Wert-Paare, die Sie definieren.Die Syntax, mit der von Merkmalskategorien und - anzugeben wird durch das Komponententestframework definiert. |
Projekt |
Gruppen testen mit dem Namen die Projekte. |
Gruppieren von Features
Ein Merkmal ist normalerweise ein Kategorienname-wert-paar, kann jedoch eine einzelne Kategorie auch sein.Features können an Methoden zugewiesen werden, die als Testmethode durch das Komponententestframework identifiziert werden.Ein Komponententestframework kann Merkmalskategorien definieren.Sie können Werte den Merkmalskategorien hinzufügen, um eigene Kategorienname-wert-paare zu definieren.Die Syntax, mit der von Merkmalskategorien und - anzugeben wird durch das Komponententestframework definiert.
Im Microsoft-Komponententest-Framework für verwaltete App, definieren Sie ein Merkmalsname-wert-paar, indem Sie TestPropertyAttribute verwenden.Das Microsoft-Komponententest-Framework enthält auch diese vordefinierten Merkmale:
Merkmal |
Beschreibung |
---|---|
[ T:Microsoft.VisualStudio.TestTools.UnitTesting.OwnerAttribute ] |
Die Besitzerskategorie wird durch das Komponententestframework definiert und Sie anfordert, einen Zeichenfolgenwert des Besitzers bereitzustellen. |
[ T:Microsoft.VisualStudio.TestTools.UnitTesting.PriorityAttribute ] |
Die Prioritätskategorie wird durch das Komponententestframework definiert und Sie anfordert, einen ganzzahligen Wert der Priorität bereitzustellen. |
[ T:Microsoft.VisualStudio.TestTools.UnitTesting.TestCategoryAttribute ] |
Das TestCategory-Attribut ermöglicht es Ihnen, eine Kategorie ohne einen Wert bereitzustellen.Eine Kategorie, die vom TestCategory-Attribut definiert ist, kann die Kategorie eines TestProperty-Attributs auch sein. |
[ T:Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute ] |
Das TestProperty-Attribut ermöglicht es Ihnen, Merkmalskategorie/-Wert-Paar zu definieren. |
Features im Microsoft-Komponententestframework für C++
Um ein Merkmal zu definieren, verwenden Sie das TEST_METHOD_ATTRIBUTE-Makro.Beispielsweise ein Merkmal benannte zu definieren TEST_MY_TRAIT:
#define TEST_MY_TRAIT(traitValue) TEST_METHOD_ATTRIBUTE(L"MyTrait", traitValue)
Um das definierte Merkmal in den Komponententests verwenden:
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 das TEST_METHOD_ATTRIBUTE-Makro, um ein Merkmal zu definieren. |
TEST_OWNER(ownerAlias) |
Verwenden Sie das vordefinierte Besitzersmerkmal, um einen Besitzer der Testmethode anzugeben. |
TEST_PRIORITY(priority) |
Verwenden Sie das vordefinierte Prioritätsmerkmal, um relative Prioritäten zu den Testmethoden zuzuweisen. |
In diesem Abschnitt
Die Testliste suchen und Filtern
Sie können Test-Explorer-Filter verwenden, um die Testmethoden in den Projekten einzuschränken, die Sie anzeigen und ausführen.
Wenn Sie eine Zeichenfolge im Test-Explorer-Suchenfeld eingeben und die EINGABETASTE drücken, wird die Testliste so gefiltert, dass nur die Tests anzuzeigen, deren vollqualifizierten Namen die Zeichenfolge enthalten.
Um nach verschiedenen Kriterien filtern:
Öffnen Sie die Dropdownliste auf der rechten Seite des Suchenfelds.
Wählen Sie neue Kriterien aus.
Geben Sie den Filterwert zwischen den Anführungszeichen ein.
Hinweis |
---|
Suchen wird die Groß-/Kleinschreibung nicht beachtet und passen die angegebene Zeichenfolge mit einen Teil der Kriterien Wert an. |
Qualifizierer |
Beschreibung |
---|---|
Merkmal |
Sucht Merkmalskategorie und der Wert für Übereinstimmungen.Die Syntax, mit der Merkmalskategorien anzugeben und die Werte werden durch das Komponententestframework definiert. |
Projekt |
Sucht die Testprojektnamen für Übereinstimmungen. |
Fehlermeldung |
Sucht die benutzerdefinierten Fehlermeldungen, die von fehlgeschlagenen Assertionen für Übereinstimmungen zurückgegeben werden. |
Dateipfad |
Sucht den vollqualifizierten Dateinamen aus Testquelldateien für Übereinstimmungen. |
Der vollqualifizierte Name |
Sucht den vollqualifizierten Dateinamen aus Testnamespaces, Klassen und Methoden für Übereinstimmungen. |
Ausgabe |
Sucht die benutzerdefinierten Fehlermeldungen, die an die Standardausgabe stdout () oder den Standardfehler (stderr) geschrieben werden.Die Syntax, mit der Ausgabemeldungen anzugeben werden durch das Komponententestframework definiert. |
Ergebnis |
Sucht die Test-Explorer-Kategoriennamen für Übereinstimmungen: Fehlgeschlagene Tests, Übersprungene Tests, Bestandene Tests. |
In diesem Abschnitt
Testeinheitstests
Sie können Test-Explorer verwenden, um eine Debugsitzung für die Tests zu starten.Das schrittweise Ausführen von Code mit dem Visual Studio-Debugger gelangen Sie nahtlos hin und her zwischen den Komponententests und dem Projekt getesteten.So starten Sie das Debuggen:
In Visual Studio-Editor legen Sie einen Haltepunkt in einer oder mehreren Testmethoden fest, die Sie debuggen möchten.
Hinweis Da Testmethoden in jeder beliebigen Reihenfolge ausgeführt werden können, legen Sie Haltepunkte in allen Testmethoden fest, die Sie debuggen möchten.
im Test-Explorer wählen Sie die Testmethoden aus und wählen dann Ausgewählte Tests debuggen im Kontextmenü aus.
Weitere Informationen zu den Debugger, finden Sie unter Debuggen in Visual Studio.
In diesem Abschnitt
Analysieren von Komponententestcodeabdeckung
Hinweis |
---|
Komponententestcodeabdeckung ist nur in Visual Studio Ultimate und Visual Studio Premium verfügbar. |
Sie können die Menge des Produktcodes bestimmen, der tatsächlich durch die Komponententests getestet wird, indem das Visual Studio-Codeabdeckungstool verwendet.Sie können Codeabdeckung in ausgewählten Tests oder für alle Tests in einer Projektmappe aus.
So Codeabdeckung für Testmethoden in einer Projektmappe aus:
Wählen Sie Tests auf dem Visual Studio-Menü aus und wählen dann Codeabdeckung analysieren aus.
Wählen Sie einen der folgenden Befehle aus dem Untermenü aus:
Ausgewählte Tests führt die Testmethoden aus, die Sie im Test-Explorer ausgewählt haben.
Alle Tests führt alle Testmethoden in der Projektmappe aus.
Das Fenster zeigt den Prozentsatz der Blöcke des Produktcodes an, die von Zeile ausgeführt wurden, Namespace und Modul arbeiten, Klasse.
Weitere Informationen finden Sie unter Bestimmen des Umfangs des zu testenden Codes mithilfe von Codeabdeckung.
In diesem Abschnitt
Diagnose von Testmethodenperformanceproblemen
Um festzustellen warum eine Testmethode zu viel Zeit verwendet, wählen Sie die - Methode im Test-Explorer aus und wählen dann Profil im Kontextmenü aus.Siehe Analysieren der Anwendungsleistung mithilfe der Profilerstellungstools.
In diesem Abschnitt
Externe Ressourcen
Empfehlungen
Siehe auch
Konzepte
Überprüfen von Code mithilfe von Komponententests
Gewusst wie: Ausführen eines Komponententest als 64-Bit-Prozess