Sdílet prostřednictvím


Spouštění testů jednotek pomocí Průzkumníka testů

Pomocí Průzkumníka testů můžete spouštět testy jednotek ze sady Visual Studio nebo z projektů testů jednotek třetích stran. V Průzkumníku testů můžete seskupit testy do kategorií, filtrovat seznam testů a vytvářet, ukládat a spouštět seznamy testů. Pomocí Průzkumníka testů můžete také ladění testů jednotek a v sadě Visual Studio Enterprise analyzovat pokrytí kódu.

Průzkumník testů může spouštět testy z více testovacích projektů v řešení a z testovacích tříd, které jsou součástí projektů produkčního kódu. Projekty testů můžou používat různé architektury testů jednotek. Pokud je kód pod testem napsaný pro .NET, lze testovací projekt napsat v libovolném jazyce, který také cílí na .NET bez ohledu na jazyk cílového kódu. Nativní projekty kódu jazyka C a C++ je nutné testovat pomocí architektury testování jednotek jazyka C++.

Sestavení testovacího projektu

Pokud ještě nemáte v řešení sady Visual Studio nastavený testovací projekt, musíte nejprve vytvořit a sestavit testovací projekt. Použijte tyto zdroje informací:

Visual Studio obsahuje architektury microsoftu pro testování jednotek pro spravovaný i nativní kód. Průzkumník testů ale může také spustit libovolnou architekturu testování jednotek, která implementovala adaptér Průzkumníka testů. Další informace o instalaci rozhraní pro testování jednotek třetích stran najdete v tématu Instalace testovacích architektur jednotek.

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

Když sestavíte testovací projekt, testy se zobrazí v Průzkumníku testů. Pokud není Průzkumník testů viditelný, vyberte Test v nabídce Visual Studio a pak vyberte Průzkumník testů (nebo stiskněte Ctrl+E, T).

snímek obrazovky se seznamem testů v Průzkumníku testů

snímek obrazovky se seznamem testů v Průzkumníku testů

Při spuštění, psaní a opětovném spuštění testů Průzkumník testů zobrazí výsledky ve výchozím seskupení projekt, obor názvůa třída. Způsob, jakým Průzkumník testů seskupuje testy, můžete změnit.

Většinu práce s hledáním, uspořádáním a spouštěním testů můžete provádět z panelu nástrojů Průzkumníka testů.

Snímek obrazovky, který popisuje ikony pro spouštění testů z panelu nástrojů Průzkumníka testů

Snímek obrazovky, který popisuje ikony pro spouštění testů z panelu nástrojů Průzkumníka testů

Spouštění testů

Zvolte jednu z těchto možností pro spouštění testů:

  • Pokud chcete spustit všechny testy v řešení, vyberte ikonu Spustit všechny (nebo vyberte Ctrl+R, V).

  • Pokud chcete spustit všechny testy ve výchozí skupině, vyberte ikonu Spustit a pak vyberte skupinu v nabídce.

  • Pokud chcete spustit jednotlivé testy, vyberte jeden nebo více testů, klikněte pravým tlačítkem myši na některé místo v podokně a pak vyberte Spustit vybrané testy (nebo vyberte Ctrl+R, T).

    Pokud jednotlivé testy nemají žádné závislosti, které brání jejich spuštění v libovolném pořadí, zapněte paralelní spuštění testu v nabídce nastavení panelu nástrojů. Tato akce může zkrátit dobu spuštění všech testů.

Poznámka

Pokud chcete nakonfigurovat cílovou platformu (architekturu procesu) pro spouštění jednotkových testů, přečtěte si téma Konfigurace architektury procesu pro jednotkový test.

Spouštění testů po každém sestavení

Abyste spustili testy po každém místním sestavení, vyberte na panelu nástrojů Průzkumníka testů možnost nastavení a pak vyberte Spustit testy po sestavení.

Zobrazení výsledků testu

Při spouštění, psaní a opětovném spouštění testů Průzkumník testů zobrazí výsledky ve skupinách Neúspěšné testy, Úspěšné testy, Přeskočené testya Nespustěné testy. Podokno podrobností v dolní části nebo na boční straně Průzkumníka testů zobrazuje souhrn spuštění testu.

Zobrazení podrobností testu

Pokud chcete zobrazit podrobnosti o jednotlivých testech, vyberte test.

snímek obrazovky s podrobnostmi o spuštění testu

snímek obrazovky s podrobnostmi o spuštění testu

Zobrazí se podokno s podrobnostmi o testu:

  • Název zdrojového souboru a číslo řádku testovací metody.

  • Stav testu.

  • Uplynulá doba potřebná k provedení testovací metody.

Pokud test selže, zobrazí se také podokno podrobností:

  • Zpráva, kterou jednotkový testovací rámec vrátí pro test.

  • Trasování zásobníku v době, kdy test selhal.

Zobrazení zdrojového kódu testovací metody

Pokud chcete zobrazit zdrojový kód pro testovací metodu v editoru sady Visual Studio, klikněte na test pravým tlačítkem myši a pak vyberte Otevřít testovací (nebo vyberte klíč F12).

Seskupení a filtrování seznamu testů

V Průzkumníku testů můžete testy seskupit do předdefinovaných kategorií. Většina architektur testů jednotek, které běží v Průzkumníku testů, umožňuje definovat vlastní kategorie a páry kategorií a hodnot pro seskupení testů. Seznam testů můžete také filtrovat podle řetězců odpovídajících vlastnostem testu.

Seskupení testů v seznamu testů

Průzkumník testů umožňuje seskupování testů do hierarchie. Výchozí seskupení hierarchie je Projekt, Obor Názvůa potom Třída. Pokud chcete změnit způsob uspořádání testů, vyberte tlačítko Seskupit podletlačítko skupiny Průzkumníka testů a pak vyberte nové kritérium seskupení.

snímek obrazovky znázorňující výběry pro seskupování testů podle kategorie v Průzkumníku testů

Můžete definovat vlastní úrovně hierarchie (seskupit podle státu a pak podle třídy, například) výběrem možností Seskupit podle v upřednostňovaném pořadí.

Snímek obrazovky Průzkumníka testů, který zobrazuje hierarchii testů v jednom podokně a v nabídce Seskupovat podle v druhém podokně s možnostmi Třída a Stav

Průzkumník testů umožňuje seskupování testů do hierarchie. Výchozí seskupení hierarchie je Projekt, Obor Názvůa potom Třída. Pokud chcete změnit způsob uspořádání testů, vyberte tlačítko Seskupit podletlačítko skupiny Průzkumníka testů a pak vyberte nové kritérium seskupení.

snímek obrazovky znázorňující výběry pro seskupování testů podle kategorie v Průzkumníku testů

Můžete definovat vlastní úrovně hierarchie (seskupit podle stavu a pak třídy, například) výběrem možností Seskupit podle v upřednostňovaném pořadí.

Snímek obrazovky Průzkumníka testů, který zobrazuje hierarchii testů v jednom podokně a nabídku Seskupovat podle v druhém podokně, s vybranými možnostmi Třída a Stav.

Skupiny Průzkumníka testů

Skupina Popis
doba trvání Seskupuje testy podle doby provádění: Fast, Medium, Slow.
stav Seskupí testy podle výsledků spuštění: neúspěšné testy, přeskočené testy, úspěšné testy, netestováno.
cílový rámec Seskupí testy podle architektury, na kterou cílí jejich projekty.
Jmenný prostor Seskupí testy podle obsahujícího jmenného prostoru.
Projekt Seskupí testy podle projektů, které je obsahují.
třídy Seskupí testy podle obsahující třídy.

Rysy

Vlastnost je obvykle dvojice název/hodnota kategorie, ale může to být také jedna kategorie. Vlastnosti lze přiřadit metodám, které architektura testování jednotek identifikuje jako testovací metody.

Architektura testování jednotek může definovat kategorie vlastností. Do kategorií vlastností můžete přidat hodnoty, abyste definovali vlastní páry názvu kategorie a hodnoty. Architektura testování jednotek definuje syntaxi pro určení kategorií vlastností a hodnot.

Vlastnosti v rozhraní Microsoft Unit Testing Framework pro spravovaný kód

V rozhraní Microsoft Unit Testing Framework pro spravovaný kód definujete dvojici vlastností název/hodnota v atributu TestPropertyAttribute. Testovací architektura obsahuje také tyto předdefinované vlastnosti:

Vlastnost Popis
OwnerAttribute Kategorie Owner je definována architekturou testování jednotek a vyžaduje, abyste zadali řetězcovou hodnotu vlastníka.
PriorityAttribute Kategorie Priority je definována architekturou testování jednotek a vyžaduje, abyste zadali celočíselnou hodnotu priority.
TestCategoryAttribute Atribut TestCategory umožňuje přiřadit kategorii jednotkového testu.
TestPropertyAttribute Atribut TestProperty umožňuje definovat dvojici kategorií/hodnot.

Vlastnosti v rozhraní Microsoft Unit Testing Framework pro C++

Viz Použití rozhraní Microsoft Unit Testing Framework pro C++ v sadě Visual Studio.

Vytvořit vlastní seznamy stop

Můžete vytvořit a uložit seznam testů, které chcete spustit nebo zobrazit jako skupinu. Když vyberete playlist, testy v seznamu se zobrazí na nové kartě s názvem Průzkumník testů. Test můžete přidat do více než jednoho playlistu.

Chcete-li vytvořit seznam stop:

  1. Zvolte jeden nebo více testů v Průzkumníku testů.
  2. Klikněte pravým tlačítkem na libovolné místo v podokně, přejděte na Přidat do seznamu stopa vyberte Nový seznam stop.

Snímek obrazovky znázorňující výběry pro vytvoření playlistu

Seznam úloh se otevře na nové kartě Průzkumníka testů. Tento seznam můžete použít jednou a pak ho odstranit. Nebo můžete vybrat tlačítko Uložit na panelu nástrojů okna playlistu, a potom zvolit název a umístění pro jeho uložení.

snímek obrazovky, který zobrazuje playlist otevřený na samostatné kartě Test Exploreru.

Otevřít seznam stop:

  1. Na panelu nástrojů sady Visual Studio vyberte ikonu seznamu stop.
  2. V nabídce vyberte předtím uložený soubor playlistu.

Pro úpravu playlistu použijte jednu z těchto možností:

  • Klikněte pravým tlačítkem myši na libovolný test a pomocí příkazů nabídky ho přidejte nebo odeberte ze seznamu skladeb.

  • Na panelu nástrojů vyberte tlačítko Upravit playlist. Zaškrtávací políčka vedle vašich testů ukazují, které testy jsou zahrnuté a které jsou vyloučené v seznamu. Podle potřeby upravte skupiny. Tato funkce byla poprvé dostupná ve Visual Studio 2019 verze 16.7.

    Snímek obrazovky, který zobrazuje tlačítko Upravit seznam stop na panelu nástrojů.

Můžete také vybrat nebo zrušit zaškrtnutí polí pro nadřazené skupiny v hierarchii. Tato akce vytvoří dynamický seznam stop, který je vždy aktualizován na základě testů obsažených v dané skupině.

Pokud například zaškrtnete políčko vedle třídy, jakýkoli test přidaný z této třídy se stane součástí tohoto playlistu. Pokud odstraníte test z této třídy, odebere se z playlistu.

Další informace o pravidlech získáte uložením playlistu pomocí tlačítka Uložit na panelu nástrojů a následným otevřením souboru .playlist XML, který se vytvoří na disku. Tento soubor obsahuje seznam všech pravidel a jednotlivých testů, které tvoří playlist.

Snímek obrazovky, který ukazuje obsah souboru XML s obsahem seznamu stop.

Pokud chcete vytvořit playlist pro vlastnosti, použijte pro framework MSTest následující formát:

<Playlist Version="2.0">
  <Rule Name="Includes" Match="Any">
    <Property Name="Trait" Value="SchemaUpdateBasic" />
  </Rule>
</Playlist>

Pro architekturu xUnit použijte následující formát. Ujistěte se, že mezi názvem TestCategory a hodnotou [Value] je mezera.

<Playlist Version="2.0">
  <Rule Name="Includes" Match="Any">
    <Rule Match="All">
      <Property Name="Solution" />
        <Rule Match="Any">
            <Property Name="Trait" Value="TestCategory [Value]" />
        </Rule>
    </Rule>
  </Rule>
</Playlist>

Můžete vytvořit a uložit seznam testů, které chcete spustit nebo zobrazit jako skupinu. Když vyberete playlist, testy v seznamu se zobrazí na nové kartě Průzkumníka testů. Test můžete přidat do více než jednoho playlistu.

Chcete-li vytvořit seznam stop:

  1. Zvolte jeden nebo více testů v Průzkumníku testů.
  2. Klikněte pravým tlačítkem na někam v podokně, přejděte na Přidat doseznamu stop a vyberte Nový seznam stop.

Snímek obrazovky znázorňující výběry pro vytvoření playlistu.

Seznam stop se otevře na nové kartě Test Exploreru. Tento seznam stop můžete použít jednou a pak ho zahodit. Nebo můžete vybrat tlačítko Uložit na panelu nástrojů okna seznamu stop, a potom vyberete název a umístění pro uložení seznamu stop.

Snímek obrazovky, který znázorňuje seznam stop otevřený na samostatné kartě Průzkumníka testů

Chcete-li otevřít seznam stop:

  1. Na panelu nástrojů sady Visual Studio vyberte ikonu playlistu.
  2. V nabídce vyberte dříve uložený soubor seznamu stop.

Pokud chcete upravit seznam skladeb, použijte jednu z těchto možností:

  • Klikněte pravým tlačítkem myši na libovolný test a pomocí příkazů v nabídce ho přidejte nebo odeberte ze seznamu skladeb.

  • Na panelu nástrojů vyberte tlačítko Upravit seznam stop. Zaškrtávací políčka vedle testů ukazují, které testy jsou zahrnuté a nezahrnuté v seznamu skladeb. Podle potřeby upravte skupiny. Tato funkce byla zavedena ve Visual Studio 2019 verze 16.7.

    Snímek obrazovky s tlačítkem Upravit seznam stop na panelu nástrojů.

Můžete také vybrat nebo zrušit zaškrtnutí polí pro nadřazené skupiny v hierarchii. Tato akce vytvoří dynamický seznam stop, který je vždy aktualizován na základě testů obsažených v dané skupině.

Pokud například zaškrtnete políčko vedle třídy, všechny testy přidané z této třídy se stanou součástí tohoto seznamu. Pokud odstraníte test z této třídy, odebere se ze seznamu.

Další informace o pravidlech získáte tak, že playlist uložíte pomocí tlačítka Uložit na panelu nástrojů a pak otevřete soubor .playlist XML vytvořený na vašem disku. Tento soubor obsahuje seznam všech pravidel a jednotlivých testů, které tvoří playlist.

Snímek obrazovky, který ukazuje obsah XML souboru playlistu

Pokud chcete vytvořit seznam stop pro vlastnosti, použijte pro architekturu MSTest následující formát:

<Playlist Version="2.0">
  <Rule Name="Includes" Match="Any">
    <Property Name="Trait" Value="SchemaUpdateBasic" />
  </Rule>
</Playlist>

Pro architekturu xUnit použijte následující formát. Ujistěte se, že mezi názvem TestCategory a hodnotou [Value] je mezera.

<Playlist Version="2.0">
  <Rule Name="Includes" Match="Any">
    <Rule Match="All">
      <Property Name="Solution" />
        <Rule Match="Any">
            <Property Name="Trait" Value="TestCategory [Value]" />
        </Rule>
    </Rule>
  </Rule>
</Playlist>

Sloupce Průzkumníka testů

Skupiny jsou také k dispozici jako sloupce v Průzkumníku testů, spolu s znaky, trasováním zásobníku, chybovou zprávoua plně kvalifikovaným názvem. Většina sloupců není ve výchozím nastavení viditelná. Můžete přizpůsobit, které sloupce se zobrazí.

snímek obrazovky Průzkumníka testů sady Visual Studio, který zobrazuje nabídku s vybranými sloupci a podnabídkou s vybranou možností Doba trvání, Vlastnosti a Chybová zpráva

Sloupce se dají filtrovat, měnit jejich uspořádání a řadit:

  • Pokud chcete filtrovat konkrétní vlastnosti, vyberte ikonu filtru v horní části sloupce Traits.

    Snímek obrazovky s filtrem sloupce

  • Pokud chcete změnit pořadí sloupců, vyberte záhlaví sloupce a přetáhněte ho doleva nebo doprava.

  • Pokud chcete sloupec seřadit, vyberte záhlaví sloupce. Ne všechny sloupce je možné řadit. Můžete také řadit podle sekundárního sloupce tak, že podržíte klávesu Shift a vyberete další záhlaví sloupce.

    Snímek obrazovky se řazením sloupců.

Sloupce Průzkumníka testů

Skupiny jsou také k dispozici jako sloupce v Průzkumníku testů, spolu s Charakteristiky, trasováním zásobníku, chybovou zprávoua plně kvalifikovaným názvem. Většina sloupců není ve výchozím nastavení viditelná. Můžete přizpůsobit, které sloupce se zobrazí.

snímek obrazovky Průzkumníka testů sady Visual Studio, který zobrazuje nabídku s vybranými sloupci a podnabídkou s vybranou možností Doba trvání, Vlastnosti a Chybová zpráva

Sloupce se dají filtrovat, měnit jejich uspořádání a řadit:

  • Pokud chcete filtrovat konkrétní vlastnosti, vyberte ikonu filtru v horní části sloupce Traits.

    Snímek obrazovky s filtrem sloupce

  • Pokud chcete změnit pořadí sloupců, vyberte záhlaví sloupce a přetáhněte ho doleva nebo doprava.

  • Pokud chcete sloupec seřadit, vyberte záhlaví sloupce. Ne všechny sloupce je možné řadit. Můžete také řadit podle sekundárního sloupce tak, že podržíte klávesu Shift a vyberete další záhlaví sloupce.

    snímek obrazovky se řazením sloupců

Hledání a filtrování seznamu testů

Filtry hledání v Průzkumníku testů můžete také použít k omezení testovacích metod v projektech, které zobrazíte a spustíte.

Když zadáte řetězec do vyhledávacího pole Průzkumníka testů a vyberete klávesu Enter, v seznamu testů se zobrazí pouze testy, jejichž plně kvalifikované názvy obsahují řetězec.

Filtrování podle jiného kritéria:

  1. Otevřete rozevírací seznam napravo od vyhledávacího pole.

  2. Zvolte nové kritérium.

  3. Zadejte hodnotu filtru mezi uvozovkami. Pokud chcete hledat přesnou shodu v řetězci místo obsahující shody, použijte místo dvojtečky (:)) rovnítko (=).

Snímek obrazovky s testy filtru v Průzkumníku testů

Snímek obrazovky s testy filtru v Průzkumníku testů

Poznámka

Hledání nerozlišuje malá a velká písmena a porovná zadaný řetězec s libovolnou částí hodnoty kritéria.

Kvalifikátor Popis
stav Vyhledá názvy kategorií Průzkumníka testů pro shodu s: Neúspěšné testy, Vynechané testy, Úspěšné testy.
Vlastnosti Vyhledá shody v kategoriích vlastností i hodnotách. Architektura testování jednotek definuje syntaxi pro určení kategorií vlastností a hodnot.
plně kvalifikovaný název Vyhledá plně kvalifikovaný název testovacích oborů názvů, tříd a metod shody.
Projekt Vyhledá shodu v názvech testovacích projektů.
cílový rámec Vyhledá shody v testovacích rámcích.
Jmenný prostor Vyhledá shody testovacích jmenných prostorů.
třídy Vyhledá shodu v názvech testovacích tříd.

Pokud chcete vyloučit podmnožinu výsledků filtru, použijte následující syntaxi:

FilterName:"Criteria" -FilterName:"SubsetCriteria"

Například FullName:"MyClass" - FullName:"PerfTest" vrátí všechny testy, které ve svém názvu obsahují "MyClass", s výjimkou testů, které obsahují také "PerfTest" v jejich názvu.

Analýza pokrytí kódu testu jednotek

Množství kódu produktu, který jednotkové testy skutečně testují, můžete určit pomocí nástroje pro měření pokrytí kódu dostupného v sadě Visual Studio Enterprise. Můžete spouštět pokrytí kódu u vybraných testů nebo u všech testů v rámci řešení.

Pro spuštění pokrytí kódu pro testovací metody v řešení:

  • Klikněte pravým tlačítkem v Průzkumníku testů a vyberte Analyzovat pokrytí kódu u vybraných testů.

Okno Výsledky pokrytí kódu zobrazuje procento bloků kódu produktu, které byly pokryty podle řádku, funkce, třídy, jmenného prostoru a modulu.

Další informace najdete v tématu Použijte pokrytí kódu k určení, kolik kódu se testuje.

Testovací klávesové zkratky

Testy můžete spouštět z Průzkumníka testů:

  • Klikněte pravým tlačítkem myši na test v editoru kódu a pak vyberte Spustit testovací
  • Použití výchozích klávesových zkratek Průzkumníka testů v sadě Visual Studio

Některé klávesové zkratky jsou založené na kontextu. Spustí laděnínebo profilování testy na základě toho, kde se nachází kurzor v editoru kódu. Pokud je kurzor uvnitř testovací metody, spustí se tato testovací metoda. Pokud je kurzor na úrovni třídy, spustí se všechny testy v této třídě. Stejné chování platí pro úroveň oboru názvů.

Časté příkazy Klávesové zkratky
TestExplorer.DebugAllTestsInContext Ctrl+R, Ctrl+T
TestExplorer.RunAllTestsInContext Ctrl+R, T
TestExplorer.RunAllTests Ctrl+R, A
TestExplorer.RepeatLastRun Ctrl+R, L

Poznámka

Test nelze spustit v abstraktní třídě, protože testy jsou definovány pouze v těchto třídách, které nejsou instancovány. Chcete-li spustit testy v abstraktních třídách, vytvořte třídu, která je odvozena z abstraktní třídy.

Nastavení zvukových upozornění

Průzkumník testů může po dokončení spuštění testu přehrát jeden z těchto zvuků:

  • Zvuk, který označuje, že spuštění testu proběhlo úspěšně se všemi úspěšnými testy
  • Zvuk, který označuje, že testovací běh byl dokončen s alespoň jedním neúspěšným testem

Tyto zvuky můžete nastavit ve výchozím dialogovém okně Windows 11 Zvuk. Tato funkce je dostupná od verze Visual Studio 2019 Update 16.9 Preview 3.

  1. Otevřete výchozí dialogové okno Zvuk ve Windows 11.
  2. Přejděte na kartu Zvuky.
  3. Najděte kategorii Microsoft Visual Studio. Zvolte přednastavený zvuk Úspěšné testovací spuštění nebo Neúspěšné testovací spuštění, nebo procházejte vlastní zvukový soubor.

snímek obrazovky s dialogovým oknem Zvuk ve Windows 11