Spouštění testů částí pomocí Průzkumníka testů
Pomocí Průzkumníka testů můžete spouštět testy jednotek Visual Studio nebo jiných projektů testů jednotek. Pomocí Průzkumníka testů můžete také 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é ladit testy jednotek a v Visual Studio Enterprise analyzovat pokrytí kódu.
Průzkumník testů může spouštět testy z více projektů testů v řešení a z testovacích tříd, které jsou součástí projektů produkčního kódu. Projekty testů mohou používat různé architektury testování částí. Pokud je kód v rámci testu napsán pro .NET, testovací projekt může být napsán v libovolném jazyce, který také cílí na .NET, bez ohledu na jazyk cílového kódu. Nativní projekty kódu C/C++ musí být otestovány pomocí architektury testování částí jazyka C++.
Sestavení testovacího projektu
Pokud ještě nemáte ve svém řešení pro Visual Studio nastavený testovací projekt, musíte nejprve vytvořit a sestavit testovací projekt.
Visual Studio obsahuje rozhraní Microsoftu pro testování částí pro spravovaný i nativní kód. Průzkumník testů ale může také spustit libovolné rozhraní testování částí, které má implementované adaptéry Průzkumníka testů. Další informace o instalaci testovacích architektur jednotek třetích stran najdete v tématu Instalace rozhraní testování částí třetích stran.
Spouštění testů v Průzkumníku testů
Když sestavíte projekt testů, zobrazí se testy v Průzkumníku testů. Pokud průzkumník testů není viditelný, zvolte v nabídce Visual Studio test, zvolte Windows a pak zvolte Průzkumník testů (nebo stiskněte Ctrl + E, T).


Když testy spustíte, napíšete a znovu spustíte, Průzkumník testů zobrazí výsledky ve výchozích skupinách neúspěšných testů, úspěšně provedených testů, přeskočení testů a nespouštěných testů. Můžete změnit způsob, jakým Průzkumník testů seskupuje testy.
Při spouštění, zápisu a opětovném spouštění testů zobrazí Průzkumník testů výsledky ve výchozím seskupení hodnot Project, Obor názvů a Třída. Můžete změnit způsob, jakým Průzkumník testů seskupuje testy.
Velkou část práce při hledání, uspořádání a spouštění testů můžete provádět na panelu nástrojů Průzkumníka testů.


Spouštění testů
Můžete spustit všechny testy v řešení, všechny testy ve skupině nebo sadu testů, které vyberete. Proveďte některou z následujících akcí:
Pokud chcete spustit všechny testy v řešení, zvolte Spustit vše (nebo stiskněte Ctrl + R, V).
Pokud chcete spustit všechny testy ve výchozí skupině, zvolte Spustit a pak v nabídce zvolte skupinu.
Vyberte jednotlivé testy, které chcete spustit, otevřete nabídku po kliknutí pravým tlačítkem pro vybraný test a pak zvolte Spustit vybrané testy (nebo stiskněte Ctrl + R, T).
Pokud jednotlivé testy nemají žádné závislosti, které by zabránily jejich spuštění v libovolném pořadí, zapněte paralelní provádění testů pomocí
přepínací tlačítko na panelu nástrojů. To může znatelně zkrátit dobu, po které se spustí všechny testy.
Panel pro průchod/selhání v horní části okna Průzkumníka testů je při spuštění testů animovaný. V závěru testovacího běhu se barva pruhu pro průchod/selhání změní na zelenou, pokud všechny testy proběhly úspěšně nebo zčervena, pokud nějaký test selhal.
Můžete spustit všechny testy v řešení, všechny testy ve skupině nebo sadu testů, které vyberete. Proveďte některou z následujících akcí:
Pokud chcete spustit všechny testy v řešení, zvolte ikonu Spustit vše (nebo stiskněte Ctrl + R, V).
Pokud chcete spustit všechny testy ve výchozí skupině, zvolte ikonu Spustit a pak v nabídce zvolte skupinu.
Vyberte jednotlivé testy, které chcete spustit, otevřete nabídku po kliknutí pravým tlačítkem pro vybraný test a pak zvolte Spustit vybrané testy (nebo stiskněte Ctrl + R, T).
Pokud jednotlivé testy nemají žádné závislosti, které by zabránily jejich spuštění v libovolném pořadí, zapněte paralelní provádění testů v nabídce nastavení na panelu nástrojů. To může znatelně zkrátit dobu, po které se spustí všechny testy.
Spouštění testů po každém sestavení
| Tlačítko | Description |
|---|---|
![]() |
Pokud chcete testy jednotek spustit po každém místním sestavení, zvolte Test ve standardní nabídce a pak na panelu nástrojů Průzkumník testů zvolte Spustit testy po sestavení. |
Poznámka
Spuštění testů jednotek po každém sestavení vyžaduje Visual Studio 2017 Enterprise nebo Visual Studio 2019. V Visual Studio 2019 je součástí Community a Professional i Enterprise.
Pokud chcete testy jednotek spustit po každém místním sestavení, otevřete ikonu nastavení na panelu nástrojů Průzkumníka testů a vyberte Spustit testy po sestavení.
Zobrazení výsledků testů
Když testy spustíte, napíšete a znovu spustíte, Průzkumník testů zobrazí výsledky ve skupinách neúspěšných testů , úspěšně provedených testů, přeskočení testů a nespouštěných testů. V podokně podrobností v dolní části průzkumníka testů se zobrazí souhrn testovacího běhu.
Zobrazení podrobností testu
Pokud chcete zobrazit podrobnosti o jednotlivém testu, vyberte test.


V podokně podrobností testu se zobrazí následující informace:
Název zdrojového souboru a číslo řádku testovací metody.
Stav testu
Uplynulý čas, který testovací metoda trvala ke spuštění.
Pokud test selže, zobrazí se v podokně podrobností také:
Zpráva vrácená architekturou testování částí 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 Visual Studio, vyberte test a pak v nabídce po kliknutí pravým tlačítkem zvolte Otevřít test (nebo stiskněte F12).
Seskupení a filtrování seznamu testů
Průzkumník testů umožňuje seskupit testy do předdefinovaných kategorií. Většina architektur testování částí, 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 porovnáním řetězců s vlastnostmi testu.
Seskupení testů v seznamu testů
Pokud chcete změnit způsob uspořádání testů, zvolte šipku dolů vedle tlačítka Seskupit podle Tlačítko skupiny Průzkumník testů a vyberte nová
kritéria seskupení.

Průzkumník testů umožňuje seskupit testy do hierarchie. Výchozí seskupení hierarchií je Project, Obor názvů a třída. Pokud chcete změnit způsob uspořádání testů, zvolte tlačítko Seskupit podle Skupina Průzkumníka testů a vyberte nová
kritéria seskupení.

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

Skupiny Průzkumníka testů
| Skupina | Popis |
|---|---|
| Doba trvání | Seskupuje test podle doby provádění: Rychlá, Střední a Pomalá. |
| Výsledek | Seskupí testy podle výsledků spuštění: Neúspěšné testy, Přeskočené testy, Úspěšně prošly testy. |
| Vlastnosti | Skupiny testují podle párů kategorií a hodnot, které definujete. Syntaxe pro určení kategorií vlastností a hodnot je definována architekturou testování částí. |
| Projekt | Skupiny testuje podle názvu projektů. |
| Skupina | Popis |
|---|---|
| Doba trvání | Seskupí testy podle doby provádění: Rychlá, Střední a Pomalá. |
| Stav | Seskupí testy podle výsledků spuštění: Neúspěšné testy, Přeskočené testy, Úspěšně prošly testy, Nespouštěly se. |
| Cílová architektura | Seskupí testy podle architektury, na kterou cílí jejich projekty. |
| Obor názvů | Seskupí testy podle obsahujícího oboru názvů. |
| Projekt | Seskupí testy podle obsahujícího projektu. |
| Třída | Seskupí testy podle obsahující třídy. |
Vlastnosti
Vlastnost je obvykle pár název/hodnota kategorie, ale může to být také jedna kategorie. Vlastnosti lze přiřadit metodám, které jsou architekturou testování jednotek identifikovány jako testovací metoda. Rozhraní pro testování částí může definovat kategorie vlastností. Do kategorií vlastností můžete přidat hodnoty a definovat tak vlastní dvojice název/hodnota kategorie. Syntaxe pro určení kategorií vlastností a hodnot je definována architekturou testování částí.
Vlastnosti v rozhraní Microsoft Unit Testing Framework pro spravovaný kód
V rozhraní Microsoftu pro testování jednotek pro spravované aplikace definujete dvojici název/hodnota vlastnosti v TestPropertyAttribute atributu. Testovací rozhraní obsahuje také tyto předdefinované vlastnosti:
| Vlastnost | Description |
|---|---|
| OwnerAttribute | Kategorie Vlastník je definována architekturou testování částí a vyžaduje, abyste zadat řetězcovou hodnotu vlastníka. |
| PriorityAttribute | Kategorie Priorita je definována architekturou testování částí a vyžaduje, abyste zadat celočíselnou hodnotu priority. |
| TestCategoryAttribute | Atribut TestCategory umožňuje určit kategorii testu jednotek. |
| TestPropertyAttribute | Atribut TestProperty umožňuje definovat dvojici kategorie a hodnoty vlastnosti. |
Vlastnosti v rozhraní Microsoft Unit Testing Framework pro C++
Viz Jak používat rozhraní Microsoft Unit Testing Framework pro C++.
Vytváření vlastních seznamů stop
Můžete vytvořit a uložit seznam testů, které chcete spustit nebo zobrazit jako skupinu. Když vyberete seznam stop, zobrazí se testy v seznamu v Průzkumníku testů. Test můžete přidat do více než jednoho seznamu testů a všechny testy v projektu jsou dostupné, když zvolíte výchozí seznam stop Všechny testy.

Pokud chcete vytvořit seznam testů, zvolte v Průzkumníku testů jeden nebo více testů. V nabídce po kliknutí pravým tlačítkem zvolte Přidat do seznamu stop > NovýPlaylist. Uložte soubor s názvem a umístěním, které zadáte v dialogovém okně Vytvořit nový seznam stop.
Pokud chcete přidat testy do seznamu testů, zvolte v Průzkumníku testů jeden nebo více testů. V nabídce po kliknutí pravým tlačítkem zvolte Přidat do seznamu stop a pak zvolte seznam testů, do kterého chcete testy přidat.
Pokud chcete otevřít seznam stop, zvolte Test Playlist z nabídky Visual Studio a zvolte ze seznamu naposledy použitých seznamů stop nebo zvolte Otevřít seznam stop a zadejte název a umístění seznamu > stop.
Pokud jednotlivé testy nemají žádné závislosti, které by zabránily jejich spuštění v libovolném pořadí, zapněte paralelní provádění testů pomocí
přepínací tlačítko na panelu nástrojů. To může znatelně zkrátit dobu, po které se spustí všechny testy.
Můžete vytvořit a uložit seznam testů, které chcete spustit nebo zobrazit jako skupinu. Když vyberete seznam stop, zobrazí se testy v seznamu na nové kartě Průzkumník testů. Test můžete přidat do více než jednoho seznamu stop.
Pokud chcete vytvořit seznam testů, zvolte v Průzkumníku testů jeden nebo více testů. V nabídce po kliknutí pravým tlačítkem zvolte Přidat do seznamu stop Nový seznam > stop.

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

Pokud chcete vytvořit seznam testů, zvolte v Průzkumníku testů jeden nebo více testů. Klikněte pravým tlačítkem a zvolte Přidat do seznamu stop Nový seznam > stop.
Pokud chcete otevřít seznam stop, zvolte ikonu seznamu stop na panelu Visual Studio panelu nástrojů a v nabídce vyberte dříve uložený soubor seznamu stop.
Pokud chcete seznam stop upravit, můžete kliknout pravým tlačítkem na libovolný test a pomocí možností nabídky ho přidat nebo odebrat ze seznamu testů.
Od verze Visual Studio 2019 verze 16.7 můžete na panelu nástrojů zvolit tlačítko Upravit. Vedle testů se zobrazí zaškrtávací políčka, která ukazují, které testy jsou zahrnuty a vyloučeny do seznamu testů. Teď skupiny upravte podle potřeby.

Můžete také zaškrtnutá nebo zrušením zaškrtnutí políček nadřazených skupin v hierarchii. Tato akce vytvoří dynamický seznam stop, který seznam stop vždy aktualizuje na základě testů, které jsou v této skupině. Pokud například zaškrtáte políčko vedle třídy, všechny testy přidané z této třídy se stanou součástí tohoto seznamu stop. Pokud test z této třídy odstraníte, odebere se ze seznamu stop. Další informace o pravidlech získáte tak, že seznam stop uložíte pomocí tlačítka Uložit na panelu nástrojů a otevřete soubor .playlist vytvořený na vašem disku. Tento soubor obsahuje seznam všech pravidel a jednotlivých testů, které tvoří seznam stop.

Pokud chcete vytvořit seznam stop vlastností, použijte pro MSTest následující formát.
<Playlist Version="2.0">
<Rule Name="Includes" Match="Any">
<Property Name="Trait" Value="SchemaUpdateBasic" />
</Rule>
</Playlist>
Pro xUnit použijte následující formát. Ujistěte se, že mezi vaším jménem a je TestCategory [Value] 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 vlastností, trasováním zásobníku, chybovou zprávou a plně kvalifikovaným názvem. Většina sloupců není ve výchozím nastavení viditelná a můžete přizpůsobit sloupce, které se zobrazí, a pořadí, ve kterém se zobrazují.

Filtrování, řazení a změna uspořádání testovacích sloupců
Sloupce je možné filtrovat, řadit a přeuskupovat.
Pokud chcete filtrovat podle konkrétních vlastností, klikněte na ikonu filtru v horní části sloupce Vlastnosti.

Pokud chcete změnit pořadí sloupců, klikněte na záhlaví sloupce a přetáhněte ho doleva nebo doprava.
Pokud chcete sloupec seřadit, klikněte na záhlaví sloupce. Ne všechny sloupce lze seřadit. Můžete také řadit podle sekundárního sloupce tak, že podržíte klávesu Shift a kliknete na další záhlaví sloupce.

Hledání a filtrování seznamu testů
Pomocí vyhledávacích filtrů Průzkumníka testů můžete také omezit testovací metody v projektech, které zobrazíte a spustíte.
Když do vyhledávacího pole Průzkumníka testů zadáte řetězec a zvolíte Enter, seznam testů se vyfiltruje a zobrazí se pouze testy, jejichž plně kvalifikované názvy obsahují řetězec.
Filtrování podle různých kritérií:
Otevřete rozevírací seznam napravo od vyhledávacího pole.
Zvolte nová kritéria.
Zadejte hodnotu filtru mezi uvozovky. Pokud chcete vyhledat přesnou shodu řetězce místo obsahující shody, použijte místo dvojtečky znak rovná se (=) :).


Poznámka
Při hledání se malá a velká písmena shodují se zadaným řetězcem s libovolnou částí hodnoty kritéria.
| Kvalifikátor | Description |
|---|---|
| Vlastnost | Vyhledá shodu v kategorii vlastností i hodnotě. Syntaxe pro určení kategorií vlastností a hodnot je definována architekturou testování částí. |
| Projekt | Vyhledá shody v názvech projektů testů. |
| Chybová zpráva | Vyhledá shodu v uživatelsky definovaných chybových zprávách vrácených neúspěšnými kontrolními výrazy. |
| Cesta k souboru | Vyhledá shody v plně kvalifikovaném názvu souboru zdrojových souborů testu. |
| Plně kvalifikovaný název | Vyhledá plně kvalifikovaný název testovacích oborů názvů, tříd a metod pro shody. |
| Výstup | Vyhledá chybové zprávy definované uživatelem, které jsou zapsány do standardního výstupu (stdout) nebo standardní chyby (stderr). Syntaxe pro určení výstupních zpráv je definována v rámci testovacího rozhraní jednotky. |
| Zaznamenaný | Vyhledá názvy kategorií Průzkumníka testů pro shody: neúspěšné testy, vynechané testy, Úspěšné testy. |
| Kvalifikátor | Description |
|---|---|
| Stav | Vyhledá názvy kategorií Průzkumníka testů pro shody: neúspěšné testy, vynechané testy, Úspěšné testy. |
| Traits | Vyhledá shody v kategorii a hodnotě vlastností. Syntaxe pro určení kategorií vlastností a hodnot je definována v rámci testovacího rozhraní jednotky. |
| Plně kvalifikovaný název | Vyhledá plně kvalifikovaný název testovacích oborů názvů, tříd a metod pro shody. |
| Projekt | Vyhledá shody v názvech projektů testů. |
| Cílová architektura | Vyhledá názvy kategorií Průzkumníka testů pro shody: neúspěšné testy, vynechané testy, Úspěšné testy. |
| Obor názvů | Vyhledá shody v oborech názvů testu. |
| Třída | Vyhledá shody v názvech testovacích tříd. |
K vyloučení podmnožiny 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é zahrnují "MyClass" v názvu, s výjimkou testů, které také zahrnují "PerfTest" v názvu.
Analýza pokrytí kódu testu jednotek
množství kódu produktu, který je skutečně testován pomocí testů jednotek, můžete určit pomocí nástroje pokrytí kódu Visual Studio, který je k dispozici v Visual Studio Enterprise edici. Můžete spustit pokrytí kódu pro vybrané testy nebo pro všechny testy v řešení.
Spuštění pokrytí kódu pro testovací metody v řešení:
Zvolte možnost test na horním řádku nabídek a pak zvolte možnost Analyzovat pokrytí kódu.
V podnabídce vyberte jeden z následujících příkazů:
Vybrané testy spouští testovací metody, které jste vybrali v Průzkumníku testů.
Všechny testy spustí všechny testovací metody v řešení.
- Klikněte pravým tlačítkem myši v Průzkumníku testů a vyberte možnost Analyzovat pokrytí kódu pro vybrané testy .
V okně výsledky pokrytí kódu se zobrazí procentuální podíl bloků kódu produktu, které byly uplatněny pomocí řádku, funkce, třídy, oboru názvů a modulu.
Další informace naleznete v tématu Použití pokrytí kódu k určení, kolik kódu je testováno.
Zástupci testů
Testy lze spustit z Průzkumníka testů kliknutím pravým tlačítkem myši v editoru kódu na test a výběrem možnosti Spustit test nebo pomocí výchozího zástupce průzkumníka testů v Visual Studio. Některé zástupce jsou založené na kontextu. To znamená, že spouštějí nebo ladí testy na základě toho, kde je kurzor v editoru kódu. Pokud je kurzor uvnitř testovací metody, pak se tato testovací metoda spustí. Pokud je kurzor na úrovni třídy, pak se spustí všechny testy v této třídě. To je stejné i pro úrovni 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
Nemůžete spustit test v abstraktní třídě, protože testy jsou definovány pouze v abstraktních třídách a nikoli v instanci. Chcete-li spustit testy v abstraktních třídách, vytvořte třídu, která je odvozena z abstraktní třídy.
Test zvukové hromádky
Průzkumník testů může přehrát zvuk při dokončení testovacího běhu. Existují dva zvuky: jeden zvuk pro indikaci, že testovací běh byl úspěšný, a druhý zvuk k indikaci, že testovací běh byl dokončen s alespoň jedním neúspěšným testem. tyto zvuky můžete nastavit v dialogovém okně výchozí zvuk Windows 10. tato funkce je dostupná od verze Visual Studio 2019 Update 16,9 Preview 3.
- otevřete dialogové okno výchozí Windows 10 zvuku.
- Přejděte na kartu zvuky .
- najděte kategorii Microsoft Visual Studio . Zvolte, že testovací běh byl úspěšný nebo že testovací běh neuspěl pro výběr přednastavených zvuků nebo procházení na vlastní zvukový soubor.

