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ı

MTP şu çıkış modlarını destekler:

  • Minimal başarısız sonuç bloklarını raporlar.

  • Normal raporları başarısız oldu ve sonuç blokları atlandı. Ayrıca başlığı, uyarı iletilerini ve çalıştırma özetini içerir. 1 başarısız test ve bir özet ile Çıktı

  • Detailed tüm sonuç bloklarını raporlar. 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

Minimal MTP 2.4 önizleme sürümünde kullanılabilir.

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 Test sonuçları için çıkış ayrıntı düzeyini belirtir. Geçerli değerler: Minimal, Normal ve Detailed. Varsayılan değer: Normal. Minimal MTP 2.4 önizlemesi gerektirir.
--show-test-results <OUTCOME> 2.4.0 Sonuca göre sonuç bloklarını seçer. passed, failed, skipped, all veya none kullanın. failed ayrıca hatalar, zaman aşımları ve iptaller içerir.
--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.
--show-flaky-tests 2.4.0 Yeniden denemeden sonra başarılı olan testler için flaky: özeti ve Flaky tests listesini kontrol eder. on veya off kullanın; varsayılan olan on’dir. MSTest [Retry] ve yeniden deneme uzantısı için geçerlidir.
--show-slowest-tests 2.4.0 Özette istenen en yavaş test sayısını gösterir. MTP, çok modüllü bir çalıştırma için her modül için en yavaş testleri raporlar.

, failedve skipped seçeneklerini virgül, boşluk veya yinelenen --show-test-results seçeneklerle birleştirinpassed. none veya all değerini başka bir değerle birleştirmeyin. Açık --show-test-results bir değer, seçenek sırasına --output bakılmaksızın ön ayarı geçersiz kılar. Filtre yalnızca sonuç bloklarını değiştirir; ilerleme ve özet sayıları değişmeden kalır.

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.