Rozpoczynanie pracy z testami jednostkowymi

Użyj programu Visual Studio, aby zdefiniować i uruchomić testy jednostkowe w celu zachowania kondycji kodu, zapewnienia pokrycia kodu oraz znajdowania błędów i błędów przed wykonaniem przez klientów. Często uruchamiaj testy jednostkowe, aby upewnić się, że kod działa prawidłowo.

W tym artykule kod używa języków C# i C++, ilustracje znajdują się w języku C#, ale koncepcje i funkcje dotyczą języków .NET, C++, Python, JavaScript i TypeScript.

Tworzenie testów jednostkowych

W tej sekcji opisano sposób tworzenia projektu testów jednostkowych.

  1. Otwórz projekt, który chcesz przetestować w programie Visual Studio.

    Na potrzeby demonstrowania przykładowego testu jednostkowego ten artykuł testuje prosty projekt "Hello World" w języku C# lub C++ Console o nazwie HelloWorld. Przykładowy kod dla takiego projektu jest następujący:

    namespace HelloWorld
    {
       public class Program
       {
          public static void Main()
          {
             Console.WriteLine("Hello World!");
          }
       }
    }
    
  2. W Eksplorator rozwiązań wybierz węzeł rozwiązania. Następnie na górnym pasku menu wybierz pozycję Plik>Dodaj>nowy projekt.

  3. W oknie dialogowym nowy projekt znajdź projekt testowy jednostkowy do użycia.

    Wpisz test w polu wyszukiwania, aby znaleźć szablon projektu testów jednostkowych dla platformy testowej, której chcesz użyć, na przykład MSTest (C#) lub natywnego projektu testów jednostkowych (C++), a następnie wybierz go.

    Począwszy od programu Visual Studio 2017 w wersji 14.8 języki platformy .NET obejmują wbudowane szablony dla NUnit i xUnit. W przypadku języka C++w tym przykładzie wybierz projekt Native Unit Test , który używa platformy Microsoft Native Unit Test Framework. (Aby użyć innej struktury testowej języka C++, zobacz Pisanie testów jednostkowych dla języka C/C++). W przypadku języka Python zobacz Konfigurowanie testowania jednostkowego w kodzie języka Python, aby skonfigurować projekt testowy.

    Napiwek

    Tylko w języku C# można tworzyć projekty testów jednostkowych na podstawie kodu przy użyciu szybszej metody. Aby uzyskać więcej informacji, zobacz Tworzenie projektów testów jednostkowych i metod testowania. Aby użyć tej metody z platformą .NET Core lub .NET Standard, wymagany jest program Visual Studio 2019 lub nowszy.

    Na poniższej ilustracji przedstawiono test jednostkowy MSTest, który jest obsługiwany na platformie .NET.

    Unit test project template in Visual Studio 2022

    Kliknij przycisk Dalej, wybierz nazwę projektu testowego, a następnie kliknij przycisk Utwórz.

    Unit test project template in Visual Studio 2019

    Kliknij przycisk Dalej, wybierz nazwę projektu testowego, a następnie kliknij przycisk Utwórz.

    Projekt zostanie dodany do rozwiązania.

    Unit test project in Solution Explorer

    Unit test project in Solution Explorer

  4. W projekcie testów jednostkowych dodaj odwołanie do projektu, który chcesz przetestować, klikając prawym przyciskiem myszy pozycję Odwołania lub Zależności , a następnie wybierając polecenie Dodaj odwołanie lub Dodaj odwołanie do projektu.

  5. Wybierz projekt zawierający kod, który zostanie przetestowany, a następnie kliknij przycisk OK.

    Add project reference in Visual Studio

    Add project reference in Visual Studio

  6. Dodaj kod do metody testu jednostkowego.

    Możesz na przykład użyć następującego kodu, wybierając odpowiednią kartę dokumentacji zgodną ze strukturą testową: MSTest, NUnit lub xUnit (obsługiwana tylko na platformie .NET) lub C++ Microsoft Native Unit Test Framework.

    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);
             }
          }
       }
    }
    

Uruchamianie testów jednostkowych

  1. Otwórz Eksploratora testów.

    Aby otworzyć Eksploratora testów, wybierz pozycję Eksplorator testów>na górnym pasku menu (lub naciśnij klawisze Ctrl + E, T).

  2. Uruchom testy jednostkowe, klikając pozycję Uruchom wszystko (lub naciśnij klawisze Ctrl + R, V).

    Run unit tests in Test Explorer

    Run unit tests in Test Explorer

    Po zakończeniu testów zielony znacznik wyboru wskazuje, że test zakończył się pomyślnie. Czerwona ikona "x" wskazuje, że test zakończył się niepowodzeniem.

    Review unit test results in Test Explorer

    Review unit test results in Test Explorer

Napiwek

Za pomocą Eksploratora testów można uruchamiać testy jednostkowe z wbudowanej struktury testów (MSTest) lub z platform testowych innych firm. Testy można grupować w kategorie, filtrować listę testów oraz tworzyć, zapisywać i uruchamiać listy odtwarzania testów. Możesz również debugować testy i analizować wydajność testu i pokrycie kodu.

Wyświetlanie wyników testów jednostkowych na żywo (Visual Studio Enterprise)

Jeśli używasz platformy testowania MSTest, xUnit lub NUnit w programie Visual Studio 2017 lub nowszym, możesz zobaczyć wyniki testów jednostkowych na żywo.

Uwaga

Aby wykonać następujące kroki, wymagany jest program Visual Studio Enterprise wraz z kodem platformy .NET i jedną z następujących platform testowych: MSTest, xUnit lub NUnit.

  1. Włącz testowanie jednostkowe na żywo z menu Test, wybierając pozycję Testuj testy>jednostkowe>na żywo Rozpocznij.

    Start live unit testing in Visual Studio 2019

    Start live unit testing in Visual Studio 2022

  2. Wyświetlanie wyników testów w oknie edytora kodu podczas pisania i edytowania kodu.

    View the results of the tests

    View the results of the tests

  3. Kliknij wskaźnik wyniku testu, aby wyświetlić więcej informacji, takich jak nazwy testów, które obejmują tę metodę.

    Choose the test result indicators

    Choose the test result indicators

Aby uzyskać więcej informacji na temat testów jednostkowych na żywo, zobacz Live Unit Testing (Testowanie jednostkowe na żywo).

Korzystanie z platformy testowej innej firmy

Testy jednostkowe można uruchamiać w programie Visual Studio przy użyciu platform testowych innych firm, takich jak NUnit, Boost lub Google C++ Testing Framework, w zależności od języka programowania. Aby użyć platformy innej firmy:

  • Użyj Menedżer pakietów NuGet, aby zainstalować pakiet NuGet dla wybranej struktury.

  • (.NET) Począwszy od programu Visual Studio 2017 w wersji 14.6, program Visual Studio zawiera wstępnie skonfigurowane szablony projektów testowych dla platform testowych NUnit i xUnit. Szablony zawierają również niezbędne pakiety NuGet, aby umożliwić obsługę.

  • (C++) W programie Visual Studio 2017 i nowszych wersjach niektóre struktury, takie jak Google C++ Testing Framework, są już uwzględnione. Aby uzyskać więcej informacji, zobacz Pisanie testów jednostkowych dla języka C/C++ w programie Visual Studio.

Aby dodać projekt testu jednostkowego:

  1. Otwórz rozwiązanie zawierające kod, który chcesz przetestować.

  2. Kliknij prawym przyciskiem myszy rozwiązanie w Eksplorator rozwiązań i wybierz polecenie Dodaj>nowy projekt.

  3. Wybierz szablon projektu testów jednostkowych.

    W tym przykładzie wybierz pozycję NUnit

    NUnit test project template in Visual Studio 2022

    NUnit test project template in Visual Studio 2019

    Kliknij przycisk Dalej, nadaj projektowi nazwę, a następnie kliknij przycisk Utwórz.

    Szablon projektu zawiera odwołania NuGet do NUnit i NUnit3TestAdapter.

    NUnit NuGet dependencies in Solution Explorer

    NUnit NuGet dependencies in Solution Explorer

  4. Dodaj odwołanie z projektu testowego do projektu zawierającego kod, który chcesz przetestować.

    Kliknij prawym przyciskiem myszy projekt w Eksplorator rozwiązań, a następnie wybierz pozycję Dodaj>odwołanie. (Możesz również dodać odwołanie z menu po kliknięciu prawym przyciskiem myszy Odwołania lub węzeł zależności ).

  5. Dodaj kod do metody testowej.

    Add code to your unit test code file

    Add code to your unit test code file

  6. Uruchom test w Eksploratorze testów lub klikając prawym przyciskiem myszy kod testowy i wybierając polecenie Uruchom testy (lub Ctrl + R, T).

Następne kroki