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.
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:
W Eksplorator rozwiązań wybierz węzeł rozwiązania. Następnie na górnym pasku menu wybierz pozycję Plik>Dodaj>nowy projekt.
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.
Kliknij przycisk Dalej, wybierz nazwę projektu testowego, a następnie kliknij przycisk Utwórz.
Kliknij przycisk Dalej, wybierz nazwę projektu testowego, a następnie kliknij przycisk Utwórz.
Projekt zostanie dodany do rozwiązania.
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.
Wybierz projekt zawierający kod, który zostanie przetestowany, a następnie kliknij przycisk OK.
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
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).
Uruchom testy jednostkowe, klikając pozycję Uruchom wszystko (lub naciśnij klawisze Ctrl + R, V).
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.
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.
Włącz testowanie jednostkowe na żywo z menu Test, wybierając pozycję Testuj testy>jednostkowe>na żywo Rozpocznij.
Wyświetlanie wyników testów w oknie edytora kodu podczas pisania i edytowania kodu.
Kliknij wskaźnik wyniku testu, aby wyświetlić więcej informacji, takich jak nazwy testów, które obejmują tę metodę.
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:
Otwórz rozwiązanie zawierające kod, który chcesz przetestować.
Kliknij prawym przyciskiem myszy rozwiązanie w Eksplorator rozwiązań i wybierz polecenie Dodaj>nowy projekt.
Wybierz szablon projektu testów jednostkowych.
W tym przykładzie wybierz pozycję NUnit
Kliknij przycisk Dalej, nadaj projektowi nazwę, a następnie kliknij przycisk Utwórz.
Szablon projektu zawiera odwołania NuGet do NUnit i NUnit3TestAdapter.
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 ).
Dodaj kod do metody testowej.
Uruchom test w Eksploratorze testów lub klikając prawym przyciskiem myszy kod testowy i wybierając polecenie Uruchom testy (lub Ctrl + R, T).