Erste Schritte mit Unittests
Verwenden Sie Visual Studio, um Komponententests zu definieren und auszuführen, um die Integrität Ihres Codes zu gewährleisten, Code Coverage sicherzustellen und Fehler zu finden, bevor diese von Ihren Kunden erkannt werden. Führen Sie Ihre Komponententests regelmäßig durch, um sicherzustellen, dass Ihr Core ordnungsgemäß funktioniert.
In diesem Artikel verwendet der Code C# und C++, die Illustrationen sind in C#, aber die Konzepte und Funktionen gelten für .NET-Sprachen, C++, Python, JavaScript und TypeScript.
Erstellen von Komponententests
In diesem Abschnitt wird beschrieben, wie Sie ein Komponententestprojekt erstellen.
Öffnen Sie das Projekt, das Sie in Visual Studio testen möchten.
Zur Demonstration eines beispielhaften Komponententests wird in diesem Artikel ein einfaches „Hallo Welt“-C#- oder C++-Konsolenprojekt namens HelloWorld getestet. Der Beispielcode für ein solches Projekt lautet wie folgt:
Wählen Sie im Projektmappen-Explorer den Projektmappenknoten aus. Wählen Sie dann in der oberen Menüleiste Datei>Hinzufügen>Neues Projekt aus.
Suchen Sie in dem Dialogfeld „Neues Projekt“ das zu verwendende Komponententest-Projekt.
Geben Sie testen in das Suchfeld ein, um eine Komponententestprojektvorlage für das Testframework, das Sie verwenden möchten zu finden, z. B. MSTest (C#) oder Natives Komponententestprojekt (C++), und wählen Sie sie aus.
Ab Version 14.8 von Visual Studio 2017 umfassen die .NET-Sprachen integrierte Vorlagen für „NUnit“ und „xUnit“. Wählen Sie für C++ in diesem Beispiel das Projekt Systemeigener Komponententest aus, das Microsoft Systemeigene Komponententestframework verwendet. (Informationen zur Verwendung eines anderen C++-Testframeworks finden Sie unter Schreiben von Komponententests für C/C++). Informationen zum Einrichten Ihres Testprojekts mit Python finden Sie unter Einrichten von Komponententests in Python-Code.
Tipp
Nut für C# können Sie Komponententestprojekte mithilfe einer schnelleren Methode aus Code erstellen. Weitere Informationen finden Sie unter Erstellen von Komponententestprojekten und Testmethoden. Für die Verwendung dieser Methode mit .NET Core oder .NET Standard ist mindestens Visual Studio 2019 erforderlich.
In der folgenden Abbildung wird ein MSTest-Komponententest veranschaulicht, der in .NET unterstützt wird.
Klicken Sie auf Weiter, wählen Sie einen Namen für das Testprojekt aus, und klicken Sie dann auf Erstellen.
Klicken Sie auf Weiter, wählen Sie einen Namen für das Testprojekt aus, und klicken Sie dann auf Erstellen.
Das Projekt wird Ihrer Projektmappe hinzugefügt.
Fügen Sie im Komponententestprojekt einen Verweis auf das Projekt hinzu, das Sie testen möchten, indem Sie mit der rechten Maustaste auf Verweise oder auf Abhängigkeiten klicken und dann auf die Option Verweis hinzufügen oder Projektverweis hinzufügen auswählen.
Wählen Sie das Projekt aus, das den Code enthält, den Sie testen möchten, und klicken Sie auf OK.
Fügen Sie der Komponententestmethode Code hinzu.
Sie können beispielsweise den folgenden Code verwenden, indem Sie die richtige Dokumentationsregisterkarte auswählen, die mit Ihrem Testframework übereinstimmt: MSTest, NUnit oder xUnit (werden nur in .NET unterstützt), oder C++ Microsoft Systemeigene Komponententestframework.
using Microsoft.VisualStudio.TestTools.UnitTesting; using System.IO; using System; namespace HelloWorldTests { [TestClass] public class UnitTest1 { private const string Expected = "Hello World!"; [TestMethod] public void TestMethod1() { using (var sw = new StringWriter()) { Console.SetOut(sw); HelloWorld.Program.Main(); var result = sw.ToString().Trim(); Assert.AreEqual(Expected, result); } } } }
Komponententests ausführen
Öffnen Sie den Test-Explorer.
Wählen Sie oben in der Menüleiste Test >Test-Explorer aus, oder drücken Sie STRG + E, T, um den Test-Explorer zu öffnen.
Führen Sie die Komponententests aus, indem Sie Alle ausführen auswählen oder STRG + R, V drücken.
Wenn die Tests ausgeführt wurden, zeigt ein grünes Häkchen an, dass ein Test bestanden wurde. Ein rotes „x“-Symbol zeigt an, dass ein Test nicht erfolgreich war.
Tipp
Sie können den Test-Explorer verwenden, um im integrierten Testframework (MSTest) oder in Testframeworks von Drittanbietern Komponententests auszuführen. Sie können die Tests auch in Kategorien gruppieren, Filter auf die Testliste anwenden, und Wiedergabelisten von Tests erstellen, speichern und ausführen. Zudem können Sie Tests debuggen und die Leistung und Codeabdeckung von Tests analysieren.
Anzeigen von Echtzeitergebnissen von Komponententests (Visual Studio Enterprise)
Wenn Sie die Testframeworks MSTest, xUnit oder NUnit in Visual Studio 2017 oder höher verwenden, werden Live-Ergebnisse Ihrer Komponententests angezeigt.
Hinweis
Um diese Schritte ausführen zu können, ist Visual Studio Enterprise zusammen mit .NET-Code und einem der folgenden Testframeworks erforderlich: MSTest, xUnit oder NUnit.
Das Feature „Live Unit Testing“ aktivieren Sie im Menü Testen, indem Sie Testen>Live Unit Testing>Starten auswählen.
Schauen Sie sich die Ergebnisse der Tests im Fenster des Code-Editors an, während Sie Code schreiben und diesen bearbeiten.
Klicken Sie auf einen Testergebnisindikator, damit weitere Informationen angezeigt werden, z.B. die Namen der Tests, die diese Methode abdecken.
Weitere Informationen zu Live Unit Testing finden Sie unter Einführung in Live Unit Testing.
Verwenden des Testframeworks eines Drittanbieters
Je nachdem, welche Programmiersprache Sie verwenden, können Sie die Komponententests in Visual Studio auch über Testframeworks von Drittanbietern wie NUnit, Boost oder Google C++ Testing-Framework ausführen. So verwenden Sie ein Framework eines Drittanbieters:
Verwenden Sie den NuGet-Paket-Manager, um das NuGet-Paket für das Framework Ihrer Wahl zu installieren.
(.NET) Ab Version 14.6 von Visual Studio 2017 sind vorkonfigurierte Testprojektvorlagen für NUnit- und xUnit-Testframeworks in Visual Studio enthalten. Die Vorlagen enthalten außerdem die erforderlichen NuGet-Pakete zum Aktivieren der Unterstützung.
(C++) In Visual Studio 2017 und höheren Versionen sind einige Frameworks wie Google C++ Testing-Framework bereits enthalten. Weitere Informationen finden Sie unter Schreiben von Komponententests für C/C++ in Visual Studio.
So fügen Sie ein Komponententestprojekt hinzu:
Öffnen Sie die Projektmappe, die den Code enthält, den Sie testen möchten.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe, und wählen Sie anschließend Hinzufügen>Neues Projekt aus.
Wählen Sie eine Vorlage für ein Komponententestprojekt aus.
Wählen Sie für dieses Beispiel die Vorlage NUnit aus.
Klicken Sie auf Weiter, benennen Sie das Projekt, und klicken Sie dann auf Erstellen.
Die Projektvorlage beinhaltet NuGet-Verweise auf NUnit und auf NUnit3TestAdapter.
Fügen Sie dem Projekt, das den Code enthält, den Sie testen möchten, einen Verweis aus dem Testprojekt hinzu.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie anschließend Hinzufügen>Verweis aus. (Sie können einen Verweis auch über das Kontextmenü des Knotens Verweise oder Abhängigkeiten hinzufügen.)
Fügen Sie Ihrer Testmethode Code hinzu.
Führen Sie den Test über den Test-Explorer aus, oder klicken Sie mit der rechten Maustaste auf den Testcode, und wählen Sie die Option Tests ausführen aus (oder drücken Sie STRG + R, T).