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).
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ů.
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.
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 podle a pak vyberte nové kritérium seskupení.
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í.
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 podle a pak vyberte nové kritérium seskupení.
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í.
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:
- Zvolte jeden nebo více testů v Průzkumníku testů.
- 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.
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í.
Otevřít seznam stop:
- Na panelu nástrojů sady Visual Studio vyberte ikonu seznamu stop.
- 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.
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.
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:
- Zvolte jeden nebo více testů v Průzkumníku testů.
- Klikněte pravým tlačítkem na někam v podokně, přejděte na Přidat doseznamu stop a vyberte Nový seznam stop.
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.
Chcete-li otevřít seznam stop:
- Na panelu nástrojů sady Visual Studio vyberte ikonu playlistu.
- 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.
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.
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í.
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.
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.
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í.
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.
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.
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:
Otevřete rozevírací seznam napravo od vyhledávacího pole.
Zvolte nové kritérium.
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 (=).
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.
- Otevřete výchozí dialogové okno Zvuk ve Windows 11.
- Přejděte na kartu Zvuky.
- 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.