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

Pomocí 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í. Spusťte často testy jednotek, 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 se vztahují na technologie .NET jazyky, C++, Python, JavaScript a TypeScript.

Vytvořte testy jednotek

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

  1. Otevřete projekt, který chcete otestovat v Visual Studio.

    Pro účely předvedení ukázkového jednotkového testu tento článek testuje jednoduchý konzolový projekt C# nebo C++ nazvaný 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 SouborPřidatNový 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.

    technologie .NET jazyky v Visual Studio obsahují 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 Psaní testů jednotek pro C/C++). Informace o Python najdete v tématu Nastavte testování částí v kódu Python pro nastavení testovacího projektu.

    Návod

    Tento článek popisuje, jak ručně vytvořit jednotkové testy. Pokud chcete generovat testy automaticky z existujícího kódu, přečtěte si téma Generování a spouštění testů jednotek pomocí GitHub Copilot pro testování v technologie .NET, nebo pro jiné jazyky se podívejte na Použití příkazů lomítka v GitHub Copilot

    Návod

    Tento článek popisuje, jak ručně vytvořit jednotkové testy. Pokud chcete vygenerovat testy automaticky z existujícího kódu, přečtěte si téma Vytvoření C# testovacích metod z kódu, nebo pro jiné jazyky, vizte Použití slash příkazů v GitHub Copilot

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

    šablona testovacího projektu Unit v Visual Studio 2022

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

    Screenshot, který zobrazuje projekt testu jednotek v Průzkumník řešení.

    testovací projekt Unit v Průzkumník řešení

  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.

    Přidat odkaz na projekt v Visual Studio

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

    Můžete například použít následující kód tak, že vyberete správnou kartu dokumentace, která odpovídá vaší testovací rozhraní: MSTest, NUnit nebo xUnit (podporováno pouze na technologie .NET) nebo C++ Microsoft Native Unit Test Framework.

    • MSTest
    • NUnit
    • xUnit
    • 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);
             }
          }
       }
    }
    

Spouš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 CtrlE, T).

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

    Snímek obrazovky s Test Explorerem.

    Spouštění jednotkových testů v Průzkumníku testů

    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.

    Snímek obrazovky znázorňující výsledky jednotkových testů v Průzkumníku testů

    Kontrola výsledků jednotkových testů v Průzkumníku testů

Návod

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 Visual Studio 2017 nebo novějším, zobrazí se živé výsledky testů jednotek.

Poznámka:

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

  1. V nabídce Test můžete zapnout živé testování jednotek tím, že vyberete možnost TestLive Unit TestingSpustit.

    Spustit živé jednotkové testování ve Visual Studio 2022

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

    Snímek obrazovky znázorňující výsledky testů

    Zobrazení výsledků testů

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

    Snímek obrazovky znázorňující indikátory výsledků testu

    Volba indikátorů výsledků testu

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 spouštět v Visual Studio 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í NuGet Správce balíčků nainstalujte balíček NuGet pro architekturu podle vašeho výběru.

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

  • (C++) V Visual Studio 2017 a novějších verzích jsou již zahrnuty některé architektury, jako je Google C++ Testing Framework. Další informace najdete v tématu Write unit tests for C/C++ in Visual Studio.

Chcete-li přidat projekt jednotkového testu:

  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.

    šablona testovacího projektu NUnit v Visual Studio 2022

    Šablona projektu obsahuje odkazy NuGet na NUnit a NUnit3TestAdapter.

    Snímek obrazovky, který zobrazuje závislosti NuGet NUnit v nástroji Průzkumník řešení.

    Závislosti NUnit NuGet v aplikaci Průzkumník řešení

  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>Reference. (Odkaz můžete přidat také z nabídky po kliknutí pravým tlačítkem myši uzlu Odkazy nebo Závislosti .)

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

    Snímek obrazovky znázorňující kód v souboru jednotkového testu

    Přidání kódu do souboru kódu testu jednotek

  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 CtrlR, T).

Další kroky

Základy jednotkového testování

Vytváření a spouštění testů jednotek pro spravovaný kód

Vytvoření jednotkových testů pro C/C++