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, #ifdefs atd.) Jak zjistím 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ů založené 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í. V sadě Visual Studio 2017 verze 15.6 a novější se zjišťování založené na sestavení (tradiční zjišťování) spustí až po sestaveních. Toto nastavení znamená, že zjišťování testů v reálném čase najde tolik testů, kolik může při úpravách, a 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 Test Exploreru + (plus)

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

Symbol +(plus) značí, že po sestavení po 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.

Plus symbol summary line

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

Testy se teď zobrazují v Průzkumníku testů, když zadávám, aniž by bylo nutné sestavit projekt. 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, naleznete v tématu Dynamické zjišťování testů.

Kompatibilita 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ý pomocí kompilátoru Roslyn. Prozatím funguje zjišťování testů v reálném čase pouze pro architektury xUnit, NUnit a MSTest.

Protokoly Průzkumníka testů

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

Přejděte do části Možnosti>nástrojů>Test a vyhledejte v něm oddíl Protokolování.

Zjišťování testů UPW

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

Testy UPW cílí na jiný modul runtime při nasazení aplikace. To znamená, že k přesnému vyhledání testů pro projekty UPW potřebujete nejen sestavit projekt, ale také nasadit.

Řazení Průzkumníka testů

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

Zobrazení hierarchie seřadí testy abecedně, nikoli podle výsledku. Předchozí seskupení podle nastavení seřazených výsledků testu podle výsledku a pak abecedně. Řazení podle výsledku můžete povolit tak, že kliknete pravým tlačítkem myši na záhlaví sloupce v Průzkumníku testů, povolíte sloupec Stav a potom kliknutím na záhlaví sloupce Stát použijete řazení u daného sloupce. V tomto problému na GitHubu můžete poskytnout zpětnou vazbu k návrhu.

Zobrazení hierarchie Průzkumníka testů

V zobrazení hierarchie jsou předány, selhaly, vynechány a nespustí ikony vedle seskupení nadřazených uzlů. Co znamenají tyto ikony?

Ikony vedle seskupení projektů, oborů názvů a tříd zobrazují stav testů v rámci tohoto seskupení. Viz následující tabulka.

Test Explorer Hierarchy Icons

Hledat podle cesty k souboru

Ve vyhledávacím poli Průzkumníka testů už neexistuje filtr Cesta k souboru.

Filtr cesty k souboru ve vyhledávacím poli Průzkumníka testů byl odebrán v sadě 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 tuto funkci vynecháte. Pokud tato změna přeruší váš vývojový tok, dejte nám vědět odesláním názoru na komunitu 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. V sadě Visual Studio 2017 byly označené jako zastaralé, aby správci rozšíření získali včasné upozornění. Pro naše znalosti, velmi málo rozšíření našla tato rozhraní API a vzala na ně závislost. Patří mezi ně IGroupByProvider, , IGroupByProvider<T>KeyComparer, ISearchFilterTokenISearchFilter, ISearchToken, , a SearchFilterTokenType. Pokud se tato změna týká vašeho rozšíření, dejte nám vědět tím, že na webu Komunity vývojářů zadáte chybu.

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

V sadě Visual Studio 2017 verze 15.8 jsou zjištěny testy, ale nepropouštějí se.

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

Testovací projekt {} neodkazuje na žádný adaptér NuGet .NET. Pro tento projekt možná nebude fungovat zjišťování a 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 nutné k použití balíčků 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í. Přečtěte si další informace o vyřazení rozšíření adaptéru testu .NET v poznámkách k verzi.

UWP TestContainer se nenašel

Testy UPW se už nespouštějí v sadě Visual Studio 2017 verze 15.7 a novější.

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

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í testovacího projektu 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)" />

Použití funkcí preview

V sadě Visual Studio 2019 se můžete přihlásit k funkcím verze Preview v > nástrojích Možnosti > prostředí > Ve verzi Preview.