Sdílet prostřednictvím


Nejčastější dotazy k Průzkumníku testů sady Visual Studio

Dynamické zjišťování testů

Průzkumník testů nezjišťuje moje testy, které jsou dynamicky definované (například teorie, vlastní adaptéry, vlastní vlastnosti a příkazy #ifdef). Jak mohu zajistit, aby to objevilo tyto testy?

Sestavte projekt pro spuštění zjišťování založeného na sestavení.

Zjišťování testů v reálném čase je zjišťování testů, které je založeno na zdroji. Nemůže zjistit testy, které používají teorie, vlastní adaptéry, vlastní vlastnosti, #ifdef příkazy a další, protože jsou definovány za běhu. K přesnému nalezení těchto testů se vyžaduje sestavení.

Ve Visual Studiu 2017 verze 15.6 a novějších se zjišťování založené na sestavení (tradiční zjišťování) spustí pouze po kompilacích. Toto nastavení znamená, že zjišťování testů v reálném čase najde tolik testů, kolik je možné během úprav. Zjišťování založené na sestavení umožňuje, aby se dynamicky definované testy zobrazovaly po sestavení.

Zjišťování testů v reálném čase zlepšuje rychlost odezvy, ale přesto umožňuje získat úplné a přesné výsledky po sestavení.

Symbol Průzkumníka testů plus (+)

Co znamená symbol plus, který se zobrazí v horním řádku Průzkumníka testů?

Symbol plus (+) označuje, že při spuštění zjišťování založeného na sestavení může být zjištěno více testů. Tento symbol se zobrazí, pokud jsou v projektu zjištěny dynamicky definované testy.

Snímek obrazovky, který zobrazuje souhrnný řádek se symbolem plus

Zjišťování testů v reálném čase

Testy se teď zobrazují v Průzkumníku testů, když zadávám, aniž by mě vyžadovaly sestavení projektu. Co se změnilo?

Tato funkce se nazývá zjišťování testů v reálném čase. Používá analyzátor Roslyn k vyhledání testů a naplnění Průzkumníka testů v reálném čase, aniž by vyžadoval sestavení projektu. Další informace o chování zjišťování testů pro dynamicky definované testy, jako jsou teorie nebo vlastní vlastnosti, najdete v tématu dynamického zjišťování testů dříve v tomto článku.

Kompatibilita pro zjišťování testů v reálném čase

Jaké jazyky a testovací architektury můžou používat zjišťování testů v reálném čase?

zjišťování testů v reálném čase funguje jenom pro spravované jazyky (C# a Visual Basic), protože je sestavený prostřednictvím kompilátoru Roslyn. Prozatím funguje zjišťování testů v reálném čase pouze pro architektury xUnit, NUnit a MSTest.

Logy Průzkumníka testů

Jak můžu zapnout protokoly pro Průzkumníka testů?

Přejděte na Tools>Options>Test a vyhledejte tam oddíl Protokolování.

Zjišťování testů UWP

Proč se moje testy v projektech UPW nezjišťují, dokud nenasadím aplikaci?

Testy univerzální platformy Windows (UWP) cílí na jiné prostředí runtime při nasazení aplikace. Pokud chcete najít testy přesně pro projekty UPW, musíte projekt nejen sestavit, ale také nasadit.

Řazení Průzkumníka testů

Jak funguje řazení výsledků testů v zobrazení hierarchie?

Zobrazení hierarchie seřadí testy abecedně, ne podle výsledku. Předchozí nastavení seskupila výsledky testů podle výsledku a pak abecedně. Řazení podle výsledku můžete povolit tak, že v Průzkumníku testů kliknete pravým tlačítkem myši na záhlaví sloupce, povolíte sloupec Stav a pak vyberete záhlaví sloupce Stav, abyste na něm použili řazení. Svůj názor na návrh můžete poskytnout v tomto problému na GitHubu.

Zobrazení hierarchie Průzkumníka testů

V zobrazení hierarchie jsou ikonky pro úspěšné, neúspěšné, vynechané a nespuštěné vedle seskupení nadřazených uzlů. Co znamenají tyto ikony?

Ikony vedle Projektu, jmenného prostorua třídy zobrazují stav testů v rámci jednotlivých seskupení. Podívejte se na následující tabulku.

Tabulka ikon hierarchie Průzkumníka testů

Hledá se podle cesty k souboru.

Proč už ve vyhledávacím poli Průzkumníka testů neexistuje filtr cesty k souboru?

Filtr cesty k souboru ve vyhledávacím poli Průzkumníka testů byl odstraněn ve Visual Studio 2017 verze 15.7. Tato funkce měla nízké využití a Průzkumník testů může načíst testovací metody rychleji tím, že ji vynechá. Pokud tato změna přeruší váš průběh vývoje, dejte nám vědět poskytnutím zpětné vazby na komunity vývojářů.

Odebrání nezdokumentovaných rozhraní

Některá rozhraní API související s testy už v sadě Visual Studio 2019 neexistují. Co se změnilo?

V sadě Visual Studio 2019 se některá rozhraní API testovacího okna, která byla dříve označená jako veřejná, ale nikdy nebyla oficiálně zdokumentovaná, odeberou. Byly označeny jako zastaralé v sadě Visual Studio 2017, aby správci rozšíření dostali včasné upozornění. Podle našich znalostí velmi málo rozšíření našlo tato rozhraní API a stalo se na nich závislými. Zahrnují IGroupByProvider, IGroupByProvider<T>, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchTokena SearchFilterTokenType.

Pokud tato změna ovlivní vaše rozšíření, dejte nám vědět nahlášením chyby na komunitu vývojářů .

Referenční informace k NuGetu testovacího adaptéru

Proč se moje testy nespouštějí ve Visual Studiu 2017 verze 15.8, i když jsou nalezeny?

Všechny testovací projekty musí v souboru .csproj obsahovat odkaz na .NET testovací adaptér NuGet. Pokud ne, zobrazí se v projektu následující testovací výstup, pokud se zjišťování rozšířením testovacího adaptéru spustí po sestavení nebo pokud se pokusíte spustit vybrané testy:

Testovací projekt {} neodkazuje na žádný adaptér NuGet .NET. Pro tento projekt nemusí fungovat zjišťování nebo spouštění testů. Doporučujeme odkazovat na adaptéry testů NuGet v každém testovacím projektu .NET v řešení.

Místo použití rozšíření testovacího adaptéru jsou projekty povinné používat balíčky NuGet testovacího adaptéru. Tento požadavek výrazně zvyšuje výkon a způsobuje méně problémů s kontinuální integrací. Další informace o vyřazení rozšíření testovacích adaptérů .NET najdete v poznámkách k verzi .

UWP TestContainer se nenašel

Proč už moje testy UPW v sadě Visual Studio 2017 verze 15.7 a novější neběží?

Nedávné projekty testů UPW určují vlastnost sestavení, která umožňuje lepší výkon pro identifikaci testovacích aplikací. Pokud máte projekt testů UWP, který byl inicializován před sadou Visual Studio verze 15.7, tato chyba se může zobrazit ve výstupu >testy:

System.AggregateException: Došlo k jedné nebo více chybám. ---> System.InvalidOperationException: Následující TestContainer nebyl nalezen {} v Microsoft.VisualStudio.TestWindow.Controller.TestContainerProvider <GetTestContainerAsync>d__61.MoveNext()

Oprava této chyby:

  • Aktualizujte vlastnost sestavení pro své testovací projekty pomocí následujícího kódu:

    <UnitTestPlatformVersion Condition="'$(UnitTestPlatformVersion)' == ''">$(VisualStudioVersion)</UnitTestPlatformVersion>
    
  • Aktualizujte verzi sady TestPlatform SDK pomocí následujícího kódu:

    <SDKReference Include="TestPlatform.Universal, Version=$(UnitTestPlatformVersion)" />
    

Náhledové funkce

Jak můžu používat funkce preview v sadě Visual Studio 2019?

V sadě Visual Studio 2019 se můžete přihlásit k funkcím ve verzi Preview v nástrojích Nástroje>Možnosti>Prostředí>funkce ve verzi Preview.