Terminálkimenet

A terminálteszt-riporter az állapot- és állapotjelentések beépített megvalósítása a terminálon (konzolon). A Microsoft.Testing.Platform (MTP) rendszer alapvető része, és nem igényel további NuGet-csomagokat.

Kimeneti módok

Két kimeneti mód érhető el:

  • Normala kimenet tartalmazza a szalagcímet, a tesztek teljes hibáit, a figyelmeztető üzeneteket és a futtatás összegzését. 1 sikertelen teszt és összefoglaló

  • Detailed, ugyanaz, mint Normal, de Passed teszteket is jelent. Kimenet 1 sikertelen és 1 sikeres teszttel, valamint összefoglalóval

ANSI

Belsőleg 2 különböző kimeneti formázó található, amelyek automatikusan észlelik az ANSI-feloldókódok kezelésére alkalmas terminálképességet.

  • Az ANSI-formázó akkor használatos, ha a terminál képes megjeleníteni a feloldó kódokat.
  • A nem ANSI-formázó akkor használatos, ha a terminál nem tudja kezelni a feloldókódokat, mikor --no-ansi használják, vagy amikor a kimenet átirányításra kerül.

Az alapértelmezett beállítás a képességek automatikus észlelése.

Progress

A rendszer egy folyamatjelzőt ír a terminálba. Az állapotjelző az átadott tesztek, a sikertelen tesztek és a kihagyott tesztek számát mutatja, majd a tesztelt szerelvény nevét, a cél keretrendszerét és architektúráját.

Folyamatjelző sáv 23 sikeres teszttel, 0 sikertelen teszttel és 0 kihagyott teszttel

A folyamatjelző a kiválasztott mód alapján van megírva:

  • ANSI, a folyamatjelző sáv animált, a képernyő aljára ragasztva, és 500 másodpercenként frissül. A folyamatjelző sáv eltűnik, amint a teszt végrehajtása befejeződött.
  • nem ANSI, a folyamatjelző sáv a képernyőre lesz írva 3 másodpercenként. A haladás a kimenetben marad.

Közvetlen konzolkimenet és folyamat újraírása

A folyamatjelző sáv animálásához az ANSI folyamatjelző-megjelenítő átveszi a vezérlést a terminál kurzora felett, és ismételten újrarajzolja a képernyő alsó részét. Minden olyan szöveg, amelyet közvetlenül a stdout vagy a stderr elemre írnak, a tesztelési keretrendszer elfogási útvonalán kívül, felülíródhat vagy eltávolításra kerülhet ezen újrarajzolás során. Például egy Console.WriteLine szerelvényszintű vagy munkamenetszintű életciklus-kódból (például egy Before(Assembly) vagy Before(TestSession) horogból) vagy egy bővítményből érkező hívás rövid ideig villoghat, majd eltűnhet a folyamatjelző sáv frissítésekor.

Ez a viselkedés eltér a tesztenkénti standard kimenettől és a standard hibától. A futtatás közben egy teszt által írt kimenetet a keretrendszer rögzíti, és ennek megfelelően --show-stdout--show-stderrjeleníti meg, így a folyamatjelző nem írja felül.

Ha a kódnak közvetlenül a konzolra kell írnia, és a kimenetnek láthatónak kell maradnia, tiltsa le a folyamatot (--progress off az MTP 2.3.0+-ban vagy --no-progress a korábbi verziókban). Másik lehetőségként tiltsa le az ANSI-t (--ansi off az MTP 2.3.0+-ban vagy --no-ansi a korábbi verziókban) a nem ANSI-folyamatkimenet használatához, amely új sorokat fűz hozzá ahelyett, hogy újrarajzolták volna a helyén, és nem írja felül a korábbi közvetlen kimenetet.

Beállítások

Lehetőség MTP-verzió Description
--no-progress Letiltja a folyamatjelzés képernyőn való megjelenítését. Elavulttá vált az MTP 2.3.0-ban; helyette a következő használandó: --progress off.
--progress 2.3.0 Meghatározza, hogy megjelenjen-e az előrehaladás. Az érvényes értékek a következők auto : (alapértelmezett), on (szintén elfogadja true, enable, 1), és off (szintén elfogadja false, disable, 0).
--no-ansi Letiltja az ANSI escape-karakterek képernyőre írását.
--ansi 2.3.0 Azt szabályozza, hogy az ANSI-feloldó karakterek ki vannak-e bocsátva. Az érvényes értékek a következők auto : (alapértelmezett), on (szintén elfogadja true, enable, 1), és off (szintén elfogadja false, disable, 0).
--output Megadja a kimenet részletességét a teszteredmények jelentésekor. Az érvényes értékek a következők: Normal és Detailed. Az alapértelmezett érték Normal.
--show-stdout 2.2.1 Meghatározza, hogy mikor jelenjen meg egy teszt rögzített szabványos kimenete. Az érvényes értékek a következők: All, Failedés None. Az alapértelmezett érték All.
--show-stderr 2.2.1 Meghatározza, hogy mikor jelenjen meg egy teszt rögzített hibakimenete. Az érvényes értékek a következők: All, Failedés None. Az alapértelmezett érték All.
--show-flaky-tests 2.4.0 flaky: Az újrapróbálkozás után átadott tesztek összegzését és pelyhes tesztlistáját szabályozza. Használja a(z) on vagy off elemet; az alapértelmezett érték a(z) on. Az MSTest [Retry] és a újrapróbálkozási bővítményre vonatkozik.
--show-slowest-tests 2.4.0 Az összegzésben a leglassabb tesztek kért számát jeleníti meg. Többmodulos futtatás esetén az MTP az egyes modulok leglassabb tesztjeit jelenti.

Megjegyzés:

Az MTP-verzió oszlopában egy kötőjel (—) jelöli azokat az alapvető beállításokat, amelyek nem kötődnek egy adott verzióhoz, mert a platform kezdeti kiadásai óta elérhetők.

Megjegyzés:

Az MTP 2.3.0-s verziójától kezdődően, amikor az MTP azt észleli, hogy LLM- vagy AI-eszközkörnyezetben fut, elrejti az indítási üzenetsávot, és a zaj csökkentése érdekében a(z) --show-stdout és --show-stderr alapértelmezett értékét All helyett Failed értékre módosítja.