Udostępnij przez


Wprowadzenie do testowania jednostkowego

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 usterek zanim zrobią to klienci. 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 Eksploratorze rozwiązań wybierz węzeł rozwiązania. Następnie na górnym pasku menu wybierz pozycję Plik>Dodaj>nowy projekt.

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

    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.

    Wskazówka

    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.

    Szablon projektu testów jednostkowych w programie Visual Studio 2022

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

    Projekt zostanie dodany do rozwiązania.

    Projekt testu jednostkowego w Eksploratorze rozwiązań

  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.

    Dodawanie odwołania do projektu w programie 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 > na górnym pasku menu (lub naciśnij Ctrl + E, T).

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

    Uruchamianie testów jednostkowych w Eksploratorze testów

    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.

    Przeglądanie wyników testu jednostkowego w Eksploratorze testów

Wskazówka

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 / Notatka

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 Test>Testowanie jednostkowe>Rozpocznij.

    Rozpoczynanie testowania jednostkowego na żywo w programie Visual Studio 2022

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

    Wyświetlanie wyników testów

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

    Wybieranie wskaźników wyników testu

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ć zewnętrznego frameworka:

  • Użyj Menedżera 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 Eksploratorze rozwiązań i wybierz polecenie Dodaj>nowy projekt.

  3. Wybierz szablon projektu testów jednostkowych.

    W tym przykładzie wybierz pozycję NUnit

    Szablon projektu testowego NUnit w programie Visual Studio 2022

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

    Zależności NuGet NUnit w Eksploratorze rozwiązań

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

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

  5. Dodaj kod do metody testowej.

    Dodawanie kodu do pliku kodu testów jednostkowych

  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).

Dalsze kroki