Erste Schritte mit UnittestsGet started with unit testing

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.Use Visual Studio to define and run unit tests to maintain code health, ensure code coverage, and find errors and faults before your customers do. Führen Sie Ihre Komponententests regelmäßig durch, um sicherzustellen, dass Ihr Core ordnungsgemäß funktioniert.Run your unit tests frequently to make sure your code is working properly.

Für den Code und die Beispiele in diesem Artikel wird C# verwenden. Die Konzepte und Features gelten jedoch auch für .NET-Sprachen, C++, Python, JavaScript und TypeScript.In this article, the code and illustrations use C#, but the concepts and features apply to .NET languages, C++, Python, JavaScript, and TypeScript.

Erstellen von KomponententestsCreate unit tests

In diesem Abschnitt wird beschrieben, wie Sie ein Komponententestprojekt erstellen.This section describes how to create a unit test project.

  1. Öffnen Sie das Projekt, das Sie in Visual Studio testen möchten.Open the project that you want to test in Visual Studio.

    In diesem Artikel wird ein einfaches „Hallo Welt“-Projekt in C# namens HelloWorldCore getestet, um einen Beispielkomponententest zu demonstrieren.For the purposes of demonstrating an example unit test, this article tests a simple "Hello World" C# project named HelloWorldCore. Der Beispielcode für ein solches Projekt lautet wie folgt:The sample code for such a project is as follows:

    namespace HelloWorldCore
    
       public class Program
       {
          public static void Main()
          {
             Console.WriteLine("Hello World!");
          }
       }
    
  2. Wählen Sie im Projektmappen-Explorer den Projektmappenknoten aus.In Solution Explorer, select the solution node. Wählen Sie dann in der oberen Menüleiste Datei > Hinzufügen > Neues Projekt aus.Then, from the top menu bar, select File > Add > New Project.

  3. Suchen Sie im Dialogfeld „Neues Projekt“ nach einer Komponententestprojektvorlage für das Testframework, das Sie verwenden möchten (z. B. „MSTest“), und wählen Sie sie aus.In the new project dialog box, find a unit test project template for the test framework you want to use, such as MSTest, and select it.

    Ab Version 14.8 von Visual Studio 2017 umfassen die .NET-Sprachen integrierte Vorlagen für „NUnit“ und „xUnit“.Starting in Visual Studio 2017 version 14.8, the .NET languages include built-in templates for NUnit and xUnit. Für C++ müssen Sie ein Testframework auswählen, das von der Sprache unterstützt wird.For C++, you will need to select a test framework supported by the language. Informationen zum Einrichten Ihres Testprojekts mit Python finden Sie unter Einrichten von Komponententests in Python-Code.For Python, see Set up unit testing in Python code to set up your test project.

    Tipp

    Für C# können Sie Komponententestprojekte mithilfe einer schnelleren Methode aus Code erstellen.For C#, you can create unit test projects from code using a faster method. Weitere Informationen finden Sie unter Erstellen von Komponententestprojekten und Testmethoden.For more information, see Create unit test projects and test methods. Für die Verwendung dieser Methode mit .NET Core oder .NET Standard ist Visual Studio 2019 erforderlich.To use this method with .NET Core or .NET Standard, Visual Studio 2019 is required.

    In der folgenden Abbildung wird ein MSTest-Komponententest veranschaulicht, der in .NET unterstützt wird.The following illustration shows an MSTest unit test, which is supported in .NET.

    Komponententestprojektvorlage in Visual Studio 2019

    Klicken Sie auf Weiter, wählen Sie einen Namen für das Testprojekt aus, und klicken Sie dann auf Erstellen.Click Next, choose a name for the test project, and then click Create.

    Komponententestprojektvorlage in Visual Studio 2019

    Wählen Sie einen Namen für das Testprojekt aus (z. B. „HelloWorldTests“), und klicken Sie dann auf OK.Choose a name for the test project, such as HelloWorldTests, and then click OK.

    Das Projekt wird Ihrer Projektmappe hinzugefügt.The project is added to your solution.

    Wählen Sie das Unittestprojekt im Projektmappen-Explorer aus.

  4. 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 die Option Verweis hinzufügen auswählen.In the unit test project, add a reference to the project you want to test by right-clicking on References or Dependencies and then choosing Add Reference.

  5. Wählen Sie das Projekt aus, das den Code enthält, den Sie testen möchten, und klicken Sie auf OK.Select the project that contains the code you'll test and click OK.

    Screenshot: Hinzufügen eines Projektverweises in Visual Studio

  6. Fügen Sie der Komponententestmethode Code hinzu.Add code to the unit test method.

    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).For example, you might use the following code by selecting the correct documentation tab that matches your test framework: MSTest, NUnit, or xUnit (supported on .NET only).

    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);
                HelloWorldCore.Program.Main();
    
                var result = sw.ToString().Trim();
                Assert.AreEqual(Expected, result);
             }
          }
       }
    }
    

Komponententests ausführenRun unit tests

  1. Öffnen Sie den Test-Explorer.Open Test Explorer.

    Klicken Sie oben in der Menüleiste auf Test > Test-Explorer, um den Test-Explorer zu öffnen.To open Test Explorer, choose Test > Test Explorer from the top menu bar.

    Klicken Sie oben in der Menüleiste auf Test > Windows > Test-Explorer, um den Test-Explorer zu öffnen.To open Test Explorer, choose Test > Windows > Test Explorer from the top menu bar.

  2. Die Komponententests führen Sie aus, indem Sie auf Alle ausführen klicken.Run your unit tests by clicking Run All.

    Ausführen von Komponententests im Test-Explorer

    Wenn die Tests ausgeführt wurden, zeigt ein grünes Häkchen an, dass ein Test bestanden wurde.After the tests have completed, a green check mark indicates that a test passed. Ein rotes „x“-Symbol zeigt an, dass ein Test nicht erfolgreich war.A red "x" icon indicates that a test failed.

    Überprüfen der Unittestsergebnisse im Test-Explorer

Tipp

Sie können den Test-Explorer verwenden, um im integrierten Testframework (MSTest) oder in Testframeworks von Drittanbietern Komponententests auszuführen.You can use Test Explorer to run unit tests from the built-in test framework (MSTest) or from third-party test frameworks. Sie können die Tests auch in Kategorien gruppieren, Filter auf die Testliste anwenden, und Wiedergabelisten von Tests erstellen, speichern und ausführen.You can group tests into categories, filter the test list, and create, save, and run playlists of tests. Zudem können Sie Tests debuggen und die Leistung und Codeabdeckung von Tests analysieren.You can also debug tests and analyze test performance and code coverage.

Anzeigen von Echtzeitergebnissen von Komponententests (Visual Studio Enterprise)View live unit test results (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.If you are using the MSTest, xUnit, or NUnit testing framework in Visual Studio 2017 or later, you can see live results of your unit tests.

Hinweis

Für die Ausführung dieser Schritte ist Visual Studio Enterprise erforderlich.To follow these steps, Visual Studio Enterprise is required.

  1. Das Feature „Live Unit Testing“ aktivieren Sie im Menü Testen, indem Sie Testen > Live Unit Testing > Starten auswählen.Turn live unit testing from the Test menu by choosing Test > Live Unit Testing > Start.

    Aktivieren der Liveunittests

    Starten von Live Unit Testing in Visual Studio 2019

  2. Schauen Sie sich die Ergebnisse der Tests im Fenster des Code-Editors an, während Sie Code schreiben und diesen bearbeiten.View the results of the tests within the code editor window as you write and edit code.

    Überprüfen der Ergebnisse der Tests

  3. Klicken Sie auf einen Testergebnisindikator, damit weitere Informationen angezeigt werden, z.B. die Namen der Tests, die diese Methode abdecken.Click a test result indicator to see more information, such as the names of the tests that cover that method.

    Auswählen der Testergebnisindikatoren

Weitere Informationen zu Live Unit Testing finden Sie unter Einführung in Live Unit Testing.For more information about live unit testing, see Live unit testing.

Verwenden des Testframeworks eines DrittanbietersUse a third-party test framework

Je nachdem, welche Programmiersprache Sie verwenden, können Sie Komponententests in Visual Studio auch über Testframeworks von Drittanbietern wie Boost, Google und NUnit ausführen.You can run unit tests in Visual Studio by using third-party test frameworks such as Boost, Google, and NUnit, depending on your programming language. So verwenden Sie ein Framework eines Drittanbieters:To use a third-party framework:

  • Verwenden Sie den NuGet-Paket-Manager, um das NuGet-Paket für das Framework Ihrer Wahl zu installieren.Use the NuGet Package Manager to install the NuGet package for the framework of your choice.

  • (.NET) Ab Version 14.6 von Visual Studio 2017 sind vorkonfigurierte Testprojektvorlagen für NUnit- und xUnit-Testframeworks in Visual Studio enthalten.(.NET) Starting in Visual Studio 2017 version 14.6, Visual Studio includes pre-configured test project templates for NUnit and xUnit test frameworks. Die Vorlagen enthalten außerdem die erforderlichen NuGet-Pakete zum Aktivieren der Unterstützung.The templates also include the necessary NuGet packages to enable support.

  • (C++) In Visual Studio 2017 und höheren Versionen sind einige Frameworks wie Boost bereits enthalten.(C++) In Visual Studio 2017 and later versions, some frameworks like Boost are already included. Weitere Informationen finden Sie unter Schreiben von Komponententests für C/C++ in Visual Studio.For more information, see Write unit tests for C/C++ in Visual Studio.

So fügen Sie ein Komponententestprojekt hinzu:To add a unit test project:

  1. Öffnen Sie die Projektmappe, die den Code enthält, den Sie testen möchten.Open the solution that contains the code you want to test.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe, und wählen Sie anschließend Hinzufügen > Neues Projekt aus.Right-click on the solution in Solution Explorer and choose Add > New Project.

  3. Wählen Sie eine Vorlage für ein Komponententestprojekt aus.Select a unit test project template.

    Wählen Sie für dieses Beispiel die Vorlage NUnit aus.In this example, select NUnit

    NUnit-Testprojektvorlage in Visual Studio 2019

    Klicken Sie auf Weiter, benennen Sie das Projekt, und klicken Sie dann auf Erstellen.Click Next, name the project, and then click Create.

    Benennen Sie das Projekt, und klicken Sie auf OK, um es zu erstellen.Name the project, and then click OK to create it.

    Die Projektvorlage beinhaltet NuGet-Verweise auf NUnit und auf NUnit3TestAdapter.The project template includes NuGet references to NUnit and NUnit3TestAdapter.

    NUnit-NuGet-Abhängigkeiten im Projektmappen-Explorer

  4. Fügen Sie dem Projekt, das den Code enthält, den Sie testen möchten, einen Verweis aus dem Testprojekt hinzu.Add a reference from the test project to the project that contains the code you want to test.

    Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie anschließend Hinzufügen > Verweis aus.Right-click on the project in Solution Explorer, and then select Add > Reference. (Sie können einen Verweis auch über das Kontextmenü des Knotens Verweise oder Abhängigkeiten hinzufügen.)(You can also add a reference from the right-click menu of the References or Dependencies node.)

  5. Fügen Sie Ihrer Testmethode Code hinzu.Add code to your test method.

    Hinzufügen von Code zur Codedatei für Ihren Komponententest

  6. Führen Sie den Test über den Test-Explorer aus, oder, indem Sie mit der rechten Maustaste auf den Testcode klicken und die Option Tests ausführen auswählen.Run the test from Test Explorer or by right-clicking on the test code and choosing Run Test(s).

Nächste SchritteNext steps