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é ladit testy jednotek a ve 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 poté zvolte 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, Namespacea 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 test jednotek.

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

Pokud chcete jednotkové testy spustit po každém místním sestavení, zvolte ikonu nastavení na panelu nástrojů Průzkumníka testů a poté zvolte Spustit testy po sestavení.

Zobrazení výsledků testu

Při spuštění, zápisu a opětovném spuštění vašich testů průzkumník testů zobrazí výsledky ve skupinách neúspěšné testy, úspěšné testy, přeskočené testya nespuštěné testy. Podokno podrobností v dolní části nebo na straně Průzkumníka testů zobrazuje souhrn testovacího běhu.

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, kterou testovací metoda trvala ke spuštění.

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

  • Zpráva, kterou rámec pro jednotkové testy 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ů. Také můžete filtrovat seznam testů podle řetězců, které odpovídají vlastnostem testů.

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 stavu a pak třídy, například) výběrem možností Seskupit podle ve vámi 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.

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 ve vámi upřednostňovaném pořadí.

Snímek obrazovky Průzkumníka testů, který v jednom podokně zobrazuje hierarchii testů a v druhém podokně nabídku Seskupit podle 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.
stavu Seskupí testy podle výsledků provádění: Neúspěšné testy, Přeskočené testy, Úspěšné testy, Neproběhly.
cílový rámec Seskupí testy podle architektury, na kterou cílí jejich projekty.
Jmenný prostor Seskupí testy podle oboru názvů, který je obsahuje.
Projekt Seskupí testy podle obsahujícího projektu.
třída Seskupí testy podle obsahující třídy.

Rysy

Vlastnost je obvykle pár zahrnující název a hodnotu kategorie, ale může to být také pouze 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 zadat 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řte vlastní playlisty

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

Jak vytvořit playlist:

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

Snímek obrazovky ukazující výběry pro vytvoření playlistu

Playlist se otevře na nové kartě Průzkumníka testů. Tento playlist můžete použít pouze jednou a poté ho odstranit. Nebo můžete vybrat tlačítko Uložit na panelu nástrojů okna playlistu a poté vybrat název a umístění pro uložení playlistu.

snímek obrazovky, který zobrazuje playlist otevřený na samostatné kartě Průzkumník testů.

Pro otevření seznamu stop:

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

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

  • Klikněte pravým tlačítkem myši na jakýkokoli test a pomocí příkazů nabídky ho přidejte nebo odeberte z playlistu.

  • Na panelu nástrojů vyberte tlačítko Upravit seznam stop. Zaškrtávací políčka u vašich testů ukazují, které testy jsou zahrnuté a vyloučené v playlistu. Podle potřeby upravte skupiny. Tato funkce byla poprvé uvedena 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 aktualizovaný na základě testů 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 skladeb. Pokud odstraníte test z této třídy, odebere se z playlistu.

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

Snímek obrazovky s obsahem souboru XML playlistu

Pokud chcete vytvořit seznam testovacích vlastností, použijte pro rámec 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 objeví na nové kartě Test Exploreru. Test můžete přidat do více než jednoho playlistu.

Jak vytvořit playlist:

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

Snímek obrazovky ukazující výběry pro vytvoření playlistu

Playlist se otevře na nové kartě Průzkumníka testů. Tento playlist můžete použít pouze jednou a poté ho odstranit. Nebo můžete vybrat tlačítko Uložit na panelu nástrojů okna playlistu a poté vybrat název a umístění pro uložení playlistu.

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

Pro otevření seznamu stop:

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

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

  • Klikněte pravým tlačítkem myši na jakýkokoli test a pomocí příkazů nabídky ho přidejte nebo odeberte z playlistu.

  • Na panelu nástrojů vyberte tlačítko Upravit seznam stop. Zaškrtávací políčka u vašich testů ukazují, které testy jsou zahrnuté a vyloučené v playlistu. Podle potřeby upravte skupiny. Tato funkce byla poprvé uvedena 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 aktualizovaný na základě testů 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 skladeb. Pokud odstraníte test z této třídy, odebere se z playlistu.

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

Snímek obrazovky s obsahem souboru XML playlistu

Pokud chcete vytvořit seznam testovacích vlastností, použijte pro rámec 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 vlastnostmi, 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 vybranými položkami „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 vlastnostmi, 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 vybranými položkami „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šují malá a velká písmena a porovnávají zadaný řetězec s libovolnou částí hodnoty kritéria.

Kvalifikátor Popis
stavu Vyhledává v názvech kategorií Průzkumník testů následující shody: 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ý identifikátor Vyhledává plně kvalifikovaný název jmenných prostorů pro testy, třídy a metody pro shodu.
Projekt Vyhledá shodu v názvech testovacích projektů.
cílový rámec Vyhledá shody v testovacích rámcích.
Jmenný prostor Vyhledává shody v testovacích oborech názvů.
třída 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 jednotkových testů

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

Pro spuštění pokrytí kódu u testovacích metod v rámci řešení:

  • Klikněte pravým tlačítkem myši v Průzkumníku testů a vyberte Analyzovat pokrytí kódu pro vybrané testy.

Okno Výsledky pokrytí kódu zobrazí procento bloků kódu produktu, které byly testovány na úrovni řádku, funkce, třídy, oboru názvů a modulu.

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

Zkratky pro test

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žívání výchozích klávesových zkratek v Průzkumníku testů ve Visual Studio

Některé klávesové zkratky jsou založené na kontextu. Spustí laděnínebo profil testy na základě toho, kde je 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ň jmenného prostoru.

Č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

Nelze spustit test v abstraktní třídě, protože testy jsou definovány pouze v abstraktních třídách a nelze je instancovat. 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 přehrát jeden z těchto zvuků, kdy dokončí běh testu.

  • Zvuk, který označuje, že spuštění testu proběhlo úspěšně a všechny testy prošly
  • 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 zvuku ve Windows 11 .
  2. Přejděte na kartu Zvuky.
  3. Vyhledejte kategorii Microsoft Visual Studio. Zvolte přednastavený zvuk Úspěšné testovací spuštění nebo Neúspěšné testovací spuštění, nebo vyhledejte svůj vlastní zvukový soubor.

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