Megosztás a következőn keresztül:


Visual Studio Test Explorer – gyakori kérdések

Dinamikus tesztfelderítés

A Test Explorer nem észleli a dinamikusan definiált teszteimet (például elméleteket, egyéni adaptereket, egyéni tulajdonságokat és #ifdef utasításokat). Hogyan győződhetek meg arról, hogy felderíti ezeket a teszteket?

A projekt összeállítása az assembly alapú felderítés futtatásához.

A valós idejű tesztfelderítés forrásalapú tesztfelderítés. Nem tud olyan teszteket felderíteni, amelyek elméleteket, egyéni adaptereket, egyéni tulajdonságokat, #ifdef utasításokat és egyebeket használnak, mert futásidőben vannak definiálva. A tesztek pontos kereséséhez buildre van szükség.

A Visual Studio 2017 15.6-os és újabb verzióiban a szerelvényalapú felderítés (a hagyományos felderítő) csak a buildek után fut. Ez a beállítás azt jelenti, hogy a valós idejű tesztfelderítés annyi tesztet talál, amennyit csak tud szerkesztés közben. Az összeállítás-alapú felderítés lehetővé teszi a dinamikusan definiált tesztek megjelenését az építés után.

A valós idejű tesztfelderítés javítja a válaszképességet, de így is teljes és pontos eredményeket kaphat a buildelés után.

Test Explorer plus (+) szimbólum

Mit jelent a Test Explorer felső sorában megjelenő plusz szimbólum?

A plusz (+) szimbólum azt jelzi, hogy szerkesztés után több teszt is felderíthető az összeállításalapú felderítés futtatásakor. Ez a szimbólum akkor jelenik meg, ha a projekt dinamikusan definiált teszteket észlel.

képernyőkép, amely egy plusz szimbólummal ellátott összefoglaló sort jelenít meg.

Valós idejű tesztfelderítés

A tesztek most már megjelennek a Test Explorerben, miközben begépelek, és nem kell felépítenem a projektemet. Mi változott?

Ezt a funkciót valós idejű tesztfelderítésnevezik. Roslyn-elemzőt használ a tesztek kereséséhez és a Test Explorer valós idejű feltöltéséhez anélkül, hogy a projekt összeállítására lenne szükség. A dinamikusan definiált tesztek, például elméletek vagy egyéni tulajdonságok tesztfelderítési viselkedéséről a cikk korábbi, dinamikus tesztfelderítési című cikkben talál további információt.

Kompatibilitás valós idejű tesztfelderítéshez

Mely nyelvek és tesztelési keretrendszerek használhatják a valós idejű tesztfelderítést?

A valós idejű tesztfelderítés csak a felügyelt nyelvek (C# és Visual Basic) esetében működik, mert a Roslyn fordítója segítségével készült. A valós idejű tesztfelderítés egyelőre csak az xUnit, az NUnit és az MSTest keretrendszerekhez működik.

Az Explorer naplóinak tesztelése

Hogyan kapcsolhatom be a naplókat a Test Explorerben?

Lépjen Eszközök>Beállítások>Tesztelés lapra, és keresse meg a naplózási szakaszt.

UWP-tesztfelderítés

Miért nincsenek felderítve a tesztjeim az UWP-projektekben, amíg üzembe nem helyezem az alkalmazást?

Az univerzális Windows-platform (UWP) tesztjei egy másik futtatókörnyezetet céloznak meg az alkalmazás üzembe helyezésekor. A UWP-projektek tesztjeinek pontos megkereséséhez nem csak a projektet kell felépítenie, hanem üzembe kell helyeznie is.

A Test Explorer rendezése

Hogyan működik a teszteredmények rendezése a hierarchia nézetben?

A hierarchianézet betűrendbe rendezi a teszteket, nem pedig az eredmények szerint. Az előző csoportosítási beállítások kimenetel szerint, majd betűrendben rendezték a teszteredményeket. Továbbra is engedélyezheti a rendezést eredmény szerint, ha a jobb gombbal az oszlopfejlécre kattint a Test Explorerben, engedélyezi az Állapot oszlopot, majd a Állapot oszlopfejlécet választva rendezést alkalmazhat az adott oszlopra. Visszajelzést adhat a tervezéssel kapcsolatban ebben a GitHub-ügyben: ,.

A Test Explorer hierarchia nézete

A hierarchia nézetben a szülőcsomópont-csoportosítások mellett vannak átment, sikertelen, kihagyott és nem futtatott ikonok. Mit jelentenek ezek az ikonok?

A Project, Névtérés Osztály csoportosítások melletti ikonok az egyes csoportosításokon belüli tesztek állapotát jelenítik meg. Lásd a következő táblázatot.

Test Explorer-hierarchiaikonok táblázata.

Keresés fájl elérési útja szerint

Miért nincs már fájlútvonal-szűrő a Test Explorer keresőmezőjében?

A Visual Studio 2017 15.7-es verziójában a Tesztböngésző keresőmezőjének fájlelérési útvonalszűrője el lett távolítva. Ez a funkció alacsony kihasználtságú volt, és a Test Explorer gyorsabban lekérheti a tesztelési módszereket, ha kihagyja. Ha ez a változás megszakítja a fejlesztési folyamatot, küldjön visszajelzést fejlesztői közösség.

Nem dokumentált felületek eltávolítása

A Visual Studio 2019-ben már nem találhatók teszteléssel kapcsolatos API-k. Mi változott?

A Visual Studio 2019-ben a korábban nyilvánosként megjelölt, de hivatalosan nem dokumentált tesztablak API-k el lesznek távolítva. A Visual Studio 2017-ben elavultként jelölték meg őket, hogy korai figyelmeztetést adjanak a bővítmények karbantartóinak. Tudomásunk szerint nagyon kevés bővítmény találta meg ezeket az API-kat, és függőséget vállalt rájuk. Ezek közé tartozik a IGroupByProvider, IGroupByProvider<T>, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchTokenés SearchFilterTokenType.

Ha ez a módosítás hatással van a te bővítményedre, tudasd velünk, ha hibát jelentesz be a Fejlesztői Közösség-en.

A NuGet-tesztadapter referenciája

Miért nem futnak a tesztjeim a Visual Studio 2017 15.8-ban, annak ellenére, hogy felfedezték őket?

Minden tesztprojektnek tartalmaznia kell a .NET-tesztadapter NuGet-referenciáját a .csproj fájlban. Ha nem, a következő tesztkimenet jelenik meg a projekten, ha egy tesztadapter-bővítmény felderítése a buildelés után kezdődik, vagy ha a kiválasztott teszteket próbálja futtatni:

A tesztprojekt {} nem hivatkozik .NET NuGet-adapterre. Előfordulhat, hogy a tesztfelderítés vagy a végrehajtás nem működik ebben a projektben. Javasoljuk, hogy a megoldás minden .NET-tesztprojektjében hivatkozzon NuGet-tesztadapterekre.

A tesztadapter-bővítmények használata helyett a projekteknek NuGet-csomagok tesztadaptereket kell használniuk. Ez a követelmény jelentősen javítja a teljesítményt, és kevesebb problémát okoz a folyamatos integrációval kapcsolatban. A .NET tesztadapter-bővítmények elavulásáról a kibocsátási megjegyzésekbenolvashat bővebben.

Az UWP TestContainer nem található

Miért nem futnak az UWP-tesztjeim a Visual Studio 2017 15.7-es és újabb verziójában?

A legutóbbi UWP-tesztprojektek olyan buildtulajdonságot határoznak meg, amely jobb teljesítményt tesz lehetővé a tesztalkalmazások azonosításához. Ha van egy UWP-tesztprojektje, amely a Visual Studio 15.7-es verziója előtt lett inicializálva, akkor láthatja ezt a hibát a Kimenet>tesztekrészben:

System.AggregateException: Egy vagy több hiba történt. ---> System.InvalidOperationException: A következő TestContainer nem található {} a Microsoft.VisualStudio.TestWindow.Controller.TestContainerProvider <GetTestContainerAsync>d__61.MoveNext()

A hiba kijavítása:

  • Frissítse a tesztprojektek buildtulajdonságát az alábbi kóddal:

    <UnitTestPlatformVersion Condition="'$(UnitTestPlatformVersion)' == ''">$(VisualStudioVersion)</UnitTestPlatformVersion>
    
  • Frissítse a TestPlatform SDK verzióját a következő kóddal:

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

Előzetes verziójú funkciók

Hogyan használhatom az előzetes verziójú funkciókat a Visual Studio 2019-ben?

A Visual Studio 2019-ben az Eszközök>Beállítások>Környezeti>Előzetes verziójú funkciókelőzetes verziójú funkcióit választhatja.