Aracılığıyla paylaş


Visual Studio Test Gezgini hakkında SSS

Dinamik test keşfi

Test Gezgini dinamik olarak tanımlanan testlerimi (örneğin, teoriler, özel bağdaştırıcılar, özel özellikler ve #ifdef deyimleri) bulmuyor. Bu testleri keşfetmesini nasıl sağlayabilirim?

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ıkları için teoriler, özel adaptörler, özel özellikler, #ifdef ifadeleri ve daha fazlasını kullanan testleri keşfedemiyor. Bu testlerin doğru bir şekilde bulunması için bir derleme yapılması 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 keşfi, siz düzenleme yaparken mümkün olduğunca çok test bulmaya çalıştığı anlamına gelir. Derleme tabanlı bulma, dinamik olarak tanımlanmış testlerin bir derlemeden sonra görünmesini sağlar.

Gerçek zamanlı test bulma, yanıt hızını artırır, ancak yine de derlemeden sonra eksiksiz ve kesin sonuçlar elde etmenizi sağlar.

Test Gezgini artı (+) simgesi

Test Gezgini'nin üst satırında gösterilen artı simgesi ne anlama gelir?

Artı (+) simgesi, derleme tabanlı keşif çalıştırıldığında yapı tamamlandıktan sonra daha fazla test bulunabileceğini gösterir. Projenizde dinamik olarak tanımlanmış testler algılanırsa bu simge görünür.

Artı simgesi içeren bir özet satırı gösteren ekran görüntüsü.

Gerçek zamanlı test keşfi

Testler artık ben yazarken Test Gezgini'nde görünüyor ve projemi derlememe gerek yok. Ne değişti?

Bu özellik, gerçek zamanlı test bulmaolarak adlandırılır. 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, bu makalenin önceki bölümlerindeki dinamik test bulma bakın.

Gerçek zamanlı test bulma için uyumluluk

Hangi diller ve test çerçeveleri gerçek zamanlı test bulma özelliğini kullanabilir?

Gerçek zamanlı test bulma, Roslyn derleyicisi aracılığıyla oluşturulduğundan yalnızca yönetilen diller (C# ve Visual Basic) için ç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çenekleri>Test'e gidin ve orada Günlüğe Kaydetme bölümünü bulun.

UWP test keşfi

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

Evrensel Windows Platformu (UWP) testleri, uygulama dağıtıldığında farklı bir çalışma zamanını hedefler. UWP projelerinin testlerini doğru bulmak için yalnızca projenizi derlemeniz değil, aynı zamanda dağıtmanız da gerekir.

Test Gezgini'nde 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 gruplandırma ayarları, test sonuçlarını önce sonuca, ardından alfabetik sıraya göre sıraladı. Test Gezgini'nde sütun üst bilgisine sağ tıklayarak, Durumu sütununu etkinleştirerek ve sonra bu sütuna sıralama uygulamak için State sütun üst bilgisini seçerek sıralamayı yine de sonuca göre etkinleştirebilirsiniz. Bu GitHub sorunu içinde tasarım hakkında geri bildirim sağlayabilirsiniz.

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

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

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

Test Gezgini hiyerarşi simgeleri tablosu.

Dosya yoluna göre aramalar

Test Gezgini arama kutusunda neden 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üşüktü 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ırsa, Geliştirici Topluluğuüzerinden geri bildirim göndererek bize bildirin.

Belgelenmemiş arabirimlerin kaldırılması

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ı. IGroupByProvider, IGroupByProvider<T>, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchTokenve SearchFilterTokenTypeiçerir.

Bu değişiklik uzantınızı etkiliyorsa, Geliştirici Topluluğuüzerinde bir hata bildirerek bize bildirin.

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

Testlerim keşfedilse bile neden Visual Studio 2017 sürüm 15.8'de çalışmıyor?

Tüm test projeleri, .csproj dosyasında .NET test adaptörü NuGet referansını içermelidir. Eğer yapmazlarsa, bir test bağdaştırıcı uzantısı tarafından keşif derlemeden sonra başlarsa veya seçili testleri çalıştırmayı denerseniz, projede aşağıdaki test çıkışı görüntülenir.

Test projesi {} hiçbir .NET NuGet bağdaştırıcısına başvurmaz. 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, projelerde test bağdaştırıcısı NuGet paketlerinin kullanılması 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ılarının kullanımdan kaldırılması hakkında daha fazla bilgi edinin.

UWP TestContainer bulunamadı

UWP testlerim neden artık Visual Studio 2017 sürüm 15.7 ve sonraki sürümlerde çalışmıyor?

Son UWP test projeleri, test uygulamalarını tanımlamak için daha iyi performans sağlayan bir derleme özelliği belirtir. Visual Studio 15.7 sürümünden önce başlatılan bir UWP test projeniz varsa, Çıktı>Testleriiçinde bu 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:

  • Aşağıdaki kodu kullanarak test projeleriniz için derleme özelliğini 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 özellikleri

Visual Studio 2019'da önizleme özelliklerini nasıl kullanabilirim?

Visual Studio 2019'da, Araçları>Seçenekleri>Ortam>Önizleme Özellikleri'nde özellikleri önizlemeyi seçebilirsiniz.