Terminal çıkışı

Terminal test muhabiri, terminale (konsol) durum ve ilerleme durumu raporlamanın yerleşik uygulamasıdır. Çekirdek Microsoft.Testing.Platform (MTP)'in bir parçasıdır ve ek bir NuGet paketi gerektirmez.

Çıkış modları

Kullanılabilir iki çıkış modu vardır:

  • Normal çıktısı, başlığı içerir, uyarı iletilerini ve testlerin tam hata raporlarını, ayrıca çalıştırmanın özetini yazar. 1 başarısız test ve bir özet ile Çıktı

  • Detailed, Normal ile aynıdır ancak Passed testleri de bildirir. 1 başarısız ve 1 başarılı test ile çıktı ve özetOutput with 1 failed, and 1 passed test and a summaryOutput with 1 failed, and 1 passed test and a summary

Amerikan Ulusal Standartlar Enstitüsü (ANSI)

Dahili olarak ANSI kaçış kodlarını işlemek için terminal özelliğini otomatik olarak algılayan 2 farklı çıkış biçimlendirici vardır.

  • ANSI biçimlendiricisi, terminal kaçış kodlarını işleyebilirken kullanılır.
  • ANSI olmayan biçimlendirici, terminal kaçış kodlarını işleyemediyse, --no-ansi kullanıldığında veya çıkış yeniden yönlendirildiğinde kullanılır.

Varsayılan ayar, özellikleri otomatik olarak algılamaktır.

Progress

İlerleme göstergesi terminale yazılır. İlerleme göstergesi, geçirilen testlerin, başarısız testlerin ve atlanan testlerin sayısını ve ardından test edilen derlemenin adını, hedef çerçevesini ve mimarisini gösterir.

23 başarılı test, 0 başarısız test ve 0 atlanan test içeren bir ilerleme çubuğu

İlerleme çubuğu seçili moda göre yazılır:

  • ANSI, ilerleme çubuğu animasyonludur, ekranın alt kısmına yapışıp 500 dakikada bir yenilenir. Test yürütmesi tamamlandıktan sonra ilerleme çubuğu gizlenir.
  • ANSI olmayan ilerleme çubuğu, 3 saniyede bir olduğu gibi ekrana yazılır. İlerleme çıktıda devam ediyor.

Doğrudan konsol çıktısı ve ilerlemenin yeniden çizimi

İlerleme çubuğuna animasyon eklemek için ANSI ilerleme işleyicisi terminal imlecinin denetimini alır ve ekranın alt kısmını tekrar tekrar yeniden çizer. Test çerçevesinin yakalama yolu dışında doğrudan stdout veya stderr içine yazılan herhangi bir metnin üzerine bu yeniden çizme işlemi sırasında yazılabilir veya metin kaldırılabilir. Örneğin, Console.WriteLine derleme düzeyinden veya oturum düzeyinde yaşam döngüsü kodundan (veya Before(Assembly) kanca gibiBefore(TestSession)) veya bir uzantıdan yapılan bir çağrı kısa bir süre yanıp sönebilir ve ilerleme çubuğu yenilendiğinde kaybolabilir.

Bu davranış, yakalanan test başına standart çıkış ve standart hatadan farklıdır. Bir testin çalışırken ürettiği çıktı, çerçeve tarafından yakalanır ve --show-stdout ile --show-stderr uyarınca gösterilir; böylece ilerleme çubuğu bunun üzerine yazmaz.

Kodunuzun doğrudan konsola yazması gerekiyorsa ve bu çıkışın görünür kalması gerekiyorsa ilerleme durumunu devre dışı bırakın (--progress off MTP 2.3.0+ veya --no-progress önceki sürümlerde). Alternatif olarak, ANSI'yi (--ansi off MTP 2.3.0+ veya --no-ansi önceki sürümlerde) devre dışı bırakarak, yeniden çizmek yerine yeni satırlar ekleyen ve önceki doğrudan çıkışın üzerine yazmayan ANSI dışı ilerleme çıkışını kullanın.

Options

Seçenek MTP sürümü Description
--no-progress İlerleme durumunu ekrana raporlamayı devre dışı bırakır. MTP 2.3.0'da yerine --progress offkullanım dışı bırakıldı.
--progress 2.3.0 İlerleme durumunun gösterilip gösterilmediğini denetler. Geçerli değerler auto (varsayılan), on (ayrıca true, enable, 1 değerlerini de kabul eder) ve off'tir (ayrıca false, disable, 0 değerlerini de kabul eder).
--no-ansi ANSI kaçış karakterlerinin ekrana çıkışını devre dışı bırakır.
--ansi 2.3.0 ANSI kaçış karakterlerinin gönderilip gönderilmeyeceğini belirler. Geçerli değerler auto (varsayılan), on (ayrıca true, enable, 1 değerlerini de kabul eder) ve off'tir (ayrıca false, disable, 0 değerlerini de kabul eder).
--output Testler raporlanırken çıktı ayrıntı düzeyini belirtir. Geçerli değerler: Normal ve Detailed. Varsayılan Normal değeridir.
--show-stdout 2.2.1 Bir testin yakalanan standart çıktısının ne zaman gösterileceğini belirler. Geçerli değerler: All, Failed ve None. Varsayılan All değeridir.
--show-stderr 2.2.1 Bir testin yakalanan hata çıktısının ne zaman gösterileceğini belirler. Geçerli değerler: All, Failed ve None. Varsayılan All değeridir.

Uyarı

MTP sürümü sütunundaki bir tire (—), platformun ilk sürümünden bu yana kullanılabilir oldukları için belirli bir sürüme bağlı olmayan çekirdek seçenekleri işaretler.

Uyarı

MTP 2.3.0 ile birlikte, MTP bir LLM veya AI aracı ortamında çalıştığını algıladığında, başlangıç afişini gizler ve gürültüyü azaltmak için --show-stdout ile --show-stderr için varsayılan değeri All yerine Failed olarak değiştirir.