Začínáme s testováním jednotek

Pomocí sady Visual Studio můžete definovat a spouštět testy jednotek, abyste zachovali stav kódu, zajistili pokrytí kódu a našli chyby a chyby předtím, než to vaši zákazníci dělají. Testy jednotek často spusťte, abyste měli jistotu, že váš kód funguje správně.

V tomto článku kód používá C# a C++, ilustrace jsou v jazyce C#, ale koncepty a funkce platí pro jazyky .NET, C++, Python, JavaScript a TypeScript.

Vytvoření testů jednotek

Tato část popisuje, jak vytvořit projekt testování jednotek.

  1. Otevřete projekt, který chcete testovat v sadě Visual Studio.

    Pro účely předvedení ukázkového testu jednotek tento článek testuje jednoduchý projekt "Hello World" c# nebo konzoly C++ s názvem HelloWorld. Vzorový kód pro takový projekt je následující:

    namespace HelloWorld
    {
       public class Program
       {
          public static void Main()
          {
             Console.WriteLine("Hello World!");
          }
       }
    }
    
  2. V Průzkumník řešení vyberte uzel řešení. Potom v horním řádku nabídek vyberte Soubor>přidat>nový projekt.

  3. V dialogovém okně nový projekt vyhledejte projekt testu jednotek, který se má použít.

    Zadáním testu do vyhledávacího pole vyhledejte šablonu projektu testu jednotek pro testovací architekturu, kterou chcete použít, například MSTest (C#) nebo projekt nativního testu jednotek (C++) a vyberte ji.

    Počínaje sadou Visual Studio 2017 verze 14.8 zahrnují jazyky .NET integrované šablony pro NUnit a xUnit. V jazyce C++ v tomto příkladu vyberte projekt Nativní test jednotek, který používá rozhraní Microsoft Native Unit Test Framework. (Pokud chcete použít jinou testovací architekturu jazyka C++, přečtěte si téma Zápis testů jednotek pro C/C++). Informace o Pythonu najdete v tématu Nastavení testování částí v kódu Pythonu pro nastavení testovacího projektu.

    Tip

    Pouze pro jazyk C# můžete vytvářet projekty testů jednotek z kódu pomocí rychlejší metody. Další informace naleznete v tématu Vytvoření projektů testů jednotek a testovacích metod. K použití této metody s .NET Core nebo .NET Standard se vyžaduje Visual Studio 2019 nebo novější.

    Následující obrázek ukazuje test jednotek MSTest, který je podporován v .NET.

    Unit test project template in Visual Studio 2022

    Klepněte na tlačítko Další, zvolte název testovacího projektu a klepněte na tlačítko Vytvořit.

    Unit test project template in Visual Studio 2019

    Klepněte na tlačítko Další, zvolte název testovacího projektu a klepněte na tlačítko Vytvořit.

    Projekt se přidá do vašeho řešení.

    Unit test project in Solution Explorer

    Unit test project in Solution Explorer

  4. V projektu testování jednotek přidejte odkaz na projekt, který chcete testovat, kliknutím pravým tlačítkem myši na odkazy nebo závislosti a následným výběrem možnosti Přidat odkaz nebo Přidat odkaz na projekt.

  5. Vyberte projekt, který obsahuje kód, který otestujete, a klikněte na OK.

    Add project reference in Visual Studio

    Add project reference in Visual Studio

  6. Přidejte kód do metody testování jednotek.

    Následující kód můžete použít například tak, že vyberete správnou kartu dokumentace, která odpovídá vaší testovací rozhraní: MSTest, NUnit nebo xUnit (podporováno pouze v .NET) nebo 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);
             }
          }
       }
    }
    

Spuštění testů jednotek

  1. Otevřete Průzkumníka testů.

    Průzkumníka testů otevřete tak, že v horním řádku nabídek zvolíte >Průzkumník testů (nebo stisknete Ctrl + E, T).

  2. Testy jednotek spusťte kliknutím na Spustit vše (nebo stiskněte Ctrl + R, V).

    Run unit tests in Test Explorer

    Run unit tests in Test Explorer

    Po dokončení testů zelená značka zaškrtnutí označuje, že test proběhl úspěšně. Červená ikona x označuje, že test selhal.

    Review unit test results in Test Explorer

    Review unit test results in Test Explorer

Tip

Pomocí Průzkumníka testů můžete spouštět testy jednotek z integrované testovací architektury (MSTest) nebo z testovacích architektur třetích stran. Testy můžete seskupit do kategorií, filtrovat seznam testů a vytvářet, ukládat a spouštět seznamy testů. Můžete také ladit testy a analyzovat výkon testů a pokrytí kódu.

Zobrazení výsledků živého testu jednotek (Visual Studio Enterprise)

Pokud používáte testovací architekturu MSTest, xUnit nebo NUnit v sadě Visual Studio 2017 nebo novější, zobrazí se živé výsledky testů jednotek.

Poznámka:

K provedení těchto kroků se vyžaduje Visual Studio Enterprise spolu s kódem .NET a jednou z následujících testovacích architektur: MSTest, xUnit nebo NUnit.

  1. V nabídce Test můžete živé testování jednotek zapnout tak, že zvolíte Spustit testování>jednotek Test>Live.

    Start live unit testing in Visual Studio 2019

    Start live unit testing in Visual Studio 2022

  2. Prohlédněte si výsledky testů v okně editoru kódu při psaní a úpravě kódu.

    View the results of the tests

    View the results of the tests

  3. Kliknutím na indikátor výsledku testu zobrazíte další informace, například názvy testů, které tuto metodu pokrývají.

    Choose the test result indicators

    Choose the test result indicators

Další informace o živém testování jednotek najdete v tématu Live Unit Testing.

Použití testovací architektury třetí strany

Testy jednotek můžete v sadě Visual Studio spouštět pomocí testovacích architektur třetích stran, jako jsou NUnit, Boost nebo Google C++ Testing Framework, v závislosti na vašem programovacím jazyce. Použití architektury třetí strany:

  • Pomocí Správce balíčků NuGet nainstalujte balíček NuGet pro architekturu podle vašeho výběru.

  • (.NET) Visual Studio 2017 verze 14.6 obsahuje předem nakonfigurované šablony testovacích projektů pro NUnit a xUnit testovací architektury. Šablony také obsahují nezbytné balíčky NuGet pro povolení podpory.

  • (C++) V sadě Visual Studio 2017 a novějších verzích jsou již součástí některé architektury, jako je Google C++ Testing Framework. Další informace naleznete v tématu Zápis testů jednotek pro C/C++ v sadě Visual Studio.

Přidání projektu testu jednotek:

  1. Otevřete řešení obsahující kód, který chcete testovat.

  2. Klikněte pravým tlačítkem na řešení v Průzkumník řešení a zvolte Přidat>nový projekt.

  3. Vyberte šablonu projektu testování jednotek.

    V tomto příkladu vyberte NUnit.

    NUnit test project template in Visual Studio 2022

    NUnit test project template in Visual Studio 2019

    Klepněte na tlačítko Další, pojmenujte projekt a potom klepněte na tlačítko Vytvořit.

    Šablona projektu obsahuje odkazy NuGet na NUnit a NUnit3TestAdapter.

    NUnit NuGet dependencies in Solution Explorer

    NUnit NuGet dependencies in Solution Explorer

  4. Přidejte odkaz z testovacího projektu do projektu, který obsahuje kód, který chcete testovat.

    Klikněte pravým tlačítkem myši na projekt v Průzkumník řešení a pak vyberte Přidat>odkaz. (Můžete také přidat odkaz z místní nabídky Odkazy nebo uzel závislosti .)

  5. Přidejte kód do testovací metody.

    Add code to your unit test code file

    Add code to your unit test code file

  6. Spusťte test z Průzkumníka testů nebo tak, že kliknete pravým tlačítkem myši na testovací kód a zvolíte Spustit testy (nebo Ctrl + R, T).

Další kroky