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.
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.
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
, ISearchToken
ve SearchFilterTokenType
iç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.
İlgili içerik
- Microsoft.VisualStudio.TestTools.UnitTesting
- Mevcut kod için birim testleri oluşturma ve çalıştırma
- Birimi kodunuzu test
- Canlı birim testi hakkında SSS