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.
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'ne gidin 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.
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
, ISearchToken
ve SearchFilterTokenType
iç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.> > >