Visual Studio Test Gezgini hakkında SSS

Dinamik test bulma

Test Gezgini dinamik olarak tanımlanan testlerimi bulmuyor. (Örneğin, teoriler, özel bağdaştırıcılar, özel özellikler, #ifdefs vb.) Bu testleri nasıl keşfedebilirim?

Derleme tabanlı bulma işlemini çalıştırmak için projenizi oluşturun.

Gerçek zamanlı test bulma , kaynak tabanlı test bulmadır. Çalışma zamanında tanımlandığından teoriler, özel bağdaştırıcılar, özel özellikler, #ifdef deyimler ve daha fazlasını kullanan testleri bulamıyor. Bu testlerin doğru bir şekilde bulunması için bir derleme gereklidir. Visual Studio 2017 sürüm 15.6 ve sonraki sürümlerinde derleme tabanlı bulma (geleneksel keşif) yalnızca derlemelerden sonra çalışır. Bu ayar, gerçek zamanlı test bulmanın düzenleme sırasında olabildiğince çok test bulduğu ve derleme tabanlı bulmanın dinamik olarak tanımlanmış testlerin derlemeden sonra görünmesine izin verdiği anlamına gelir. Gerçek zamanlı test bulma, yanıt hızını artırır, ancak yine de derlemeden sonra eksiksiz ve kesin sonuçlar almanızı sağlar.

Test Gezgini '+' (artı) simgesi

Test Gezgini'nin üst satırında görünen '+' (artı) simgesi ne anlama gelir?

'+' (artı) simgesi, derleme tabanlı bulma çalıştırıldığında derlemeden sonra daha fazla test bulunabileceğini gösterir. Projenizde dinamik olarak tanımlanmış testler algılanırsa bu simge görünür.

Plus symbol summary line

Gerçek zamanlı test bulma

Testler artık ben yazarken, projemi oluşturmak zorunda kalmadan Test Gezgini'nde görünüyor. Ne değişti?

Bu özelliğe gerçek zamanlı test bulma adı verilir. Projenizi oluşturmanıza gerek kalmadan testleri bulmak ve Test Gezgini'ni gerçek zamanlı olarak doldurmak için bir Roslyn çözümleyicisi kullanır. Teoriler veya özel özellikler gibi dinamik olarak tanımlanmış testler için test bulma davranışı hakkında daha fazla bilgi için bkz . Dinamik test bulma.

Gerçek zamanlı test bulma uyumluluğu

Gerçek Zamanlı Test Bulma özelliğini hangi diller ve test çerçeveleri kullanabilir?

Gerçek zamanlı test bulma , Roslyn derleyicisi kullanılarak oluşturulduğundan yalnızca yönetilen dillerde (C# ve Visual Basic) çalışır. Şimdilik, gerçek zamanlı test bulma yalnızca xUnit, NUnit ve MSTest çerçeveleri için çalışır.

Test Gezgini günlükleri

Test Gezgini günlüklerini nasıl açabilirim?

Araçlar>Seçenekler>Testi'negidin ve Orada Günlüğe Kaydetme bölümünü bulun.

UWP test bulma

Uygulamamı dağıtana kadar UWP projelerindeki testlerim neden bulunamıyor?

UWP testleri, uygulama dağıtıldığında farklı bir çalışma zamanını hedefler. Bu, UWP projelerinin testlerini doğru bulmak için yalnızca projenizi derlemeniz değil, aynı zamanda dağıtmanız da gerektiği anlamına gelir.

Test Gezgini sıralama

Hiyerarşi görünümünde test sonuçlarını sıralama nasıl çalışır?

Hiyerarşi görünümü, testleri sonuca göre değil alfabetik olarak sıralar. Önceki ayarlara göre gruplandırma, test sonuçlarını sonuca göre ve sonra alfabetik olarak sıraladı. Yine de Test Gezgini'nde sütun başlığına sağ tıklayıp Durum sütununu etkinleştirerek ve sonra bu sütuna sıralama uygulamak için Durum sütun başlığına tıklayarak sıralamayı sonuca göre etkinleştirebilirsiniz. Bu GitHub sorununda tasarım hakkında geri bildirim sağlayabilirsiniz.

Test Gezgini hiyerarşi görünümü

Hiyerarşi görünümünde üst düğüm gruplandırmalarının yanında geçirilen, başarısız, atlanan ve çalıştırılmayan simgeler bulunur. Bu simgeler ne anlama geliyor?

Proje, Ad Alanı ve Sınıf gruplandırmalarının yanındaki simgeler, bu gruplandırma içindeki testlerin durumunu gösterir. Aşağıdaki tabloya bakın.

Test Explorer Hierarchy Icons

Dosya yoluna göre arama

Test Gezgini arama kutusunda artık "Dosya Yolu" filtresi yok.

Visual Studio 2017 sürüm 15.7'de, Test Gezgini arama kutusundaki dosya yolu filtresi kaldırıldı. Bu özelliğin kullanımı düşük ve Test Gezgini bu özelliği dışarıda bırakarak test yöntemlerini daha hızlı alabilir. Bu değişiklik geliştirme akışınızı kesintiye uğratıyorsa, Geliştirici Topluluğu hakkında geri bildirim göndererek bize bildirin.

Belgelenmemiş arabirimleri kaldırma

Testle ilgili bazı API'ler artık Visual Studio 2019'da mevcut değildir. Ne değişti?

Visual Studio 2019'da, daha önce genel olarak işaretlenmiş ancak resmi olarak belgelenmemiş olan bazı test penceresi API'leri kaldırılacaktır. Uzantı bakımcılara erken uyarı vermek için Visual Studio 2017'de "kullanım dışı" olarak işaretlendiler. Bilgimize göre, çok az uzantı bu API'leri buldu ve bunlara bağımlılık yaptı. Bunlar , , IGroupByProvider<T>, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchTokenve SearchFilterTokenTypeiçerirIGroupByProvider. Bu değişiklik uzantınızı etkiliyorsa, Geliştirici Topluluğu bir hata bildirerek bize bildirin.

Test bağdaştırıcısı NuGet başvurusu

Visual Studio 2017 sürüm 15.8'de testlerim bulundu, ancak yürütülmiyor.

Tüm test projeleri .CSproj dosyasında .NET test bağdaştırıcısı NuGet başvurularını içermelidir. Yoksa, bir test bağdaştırıcısı uzantısı tarafından bulma bir derlemeden sonra başlatılırsa veya kullanıcı seçilen testleri çalıştırmayı denerse projede aşağıdaki test çıkışı görüntülenir:

Test projesi {} hiçbir .NET NuGet bağdaştırıcısına başvurmuyor. Test bulma veya yürütme bu proje için çalışmayabilir. Çözümdeki her .NET test projesinde NuGet test bağdaştırıcılarına başvurmak önerilir.

Test bağdaştırıcısı uzantılarını kullanmak yerine, test bağdaştırıcısı NuGet paketlerini kullanmak için projeler gereklidir. Bu gereksinim performansı büyük ölçüde artırır ve sürekli tümleştirmeyle ilgili daha az soruna neden olur. Sürüm notlarında .NET Test Bağdaştırıcısı Uzantısının kullanımdan kaldırılması hakkında daha fazla bilgi edinin.

UWP TestContainer bulunamadı

UWP testlerim artık Visual Studio 2017 sürüm 15.7 ve sonraki sürümlerde yürütülmiyor.

Son UWP test projeleri, test uygulamalarını tanımlamak için daha iyi performans sağlayan bir test platformu derleme özelliği belirtir. Visual Studio 15.7 sürümünden önce başlatılan bir UWP test projeniz varsa, Çıkış>Testleri'nde şu hatayı görebilirsiniz:

System.AggregateException: Bir veya daha fazla hata oluştu. >--- System.InvalidOperationException: Aşağıdaki TestContainer, Microsoft.VisualStudio.TestWindow.Controller.TestContainerProvider <GetTestContainerAsync>d__61.MoveNext() konumunda bulunamadı {}

Bu hatayı düzeltmek için:

  • Test projesi derleme özelliğinizi aşağıdaki kodu kullanarak güncelleştirin:
<UnitTestPlatformVersion Condition="'$(UnitTestPlatformVersion)' == ''">$(VisualStudioVersion)</UnitTestPlatformVersion>
  • TestPlatform SDK sürümünü aşağıdaki kodu kullanarak güncelleştirin:
<SDKReference Include="TestPlatform.Universal, Version=$(UnitTestPlatformVersion)" />

Önizleme özelliklerini kullanma

Visual Studio 2019'da, Araçlar Seçenekleri Ortam Önizleme Özellikleri'nde önizleme özelliklerini kabul edebilirsiniz.>>>