Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
.NET bir test çerçevesi ve test platformu, testleri bulmak ve çalıştırmak için birlikte çalışan farklı bileşenlerdir.
- Test çerçevesi MSTest, NUnit, xUnit.net veya TUnit gibi üzerinde yazdığınız test modelini tanımlar.
- Test platformu testleri çalıştırır, IDE'ler ve CLI ile tümleştirilir ve paylaşılan uzantı noktaları sağlar.
İki test platformu arasında seçim yapabilirsiniz:
- VSTest
- Microsoft.Testing.Platform (MTP)
Tavsiye
En basit kurulum için deponuz için bir platform seçin ve bu platform için test projelerini, CI'yi ve araçları tutarlı bir şekilde yapılandırın. VsTest tabanlı ve Microsoft.Testing.Platform tabanlı .NET test projelerini aynı çözümde karıştırmayın veya bu senaryo desteklenmediğinden yapılandırmayı çalıştırın. VSTest'e bağlı .NET olmayan testler de çalıştırıyorsanız (örneğin, C++ veya JavaScript testleri), bu testleri MTP tabanlı .NET testlerinden ayrı yapılandırmalarda çalıştırın.
Platformunuzu seçme
Hızlı bir şekilde seçim yapmak için aşağıdaki senaryoları kullanın.
| Kullanım örneği | Seç | Neden |
|---|---|---|
| Yerel AOT veya trimming testi gerçekleştirme senaryolarına ihtiyacınız vardır. | Microsoft.Testing.Platform | MTP bu modern dağıtım senaryolarını desteklerken VSTest desteklemez. |
| Paketlenmiş WinUI veya UWP test projeleri oluşturuyorsunuz. | VSTest | Bu proje türleri şu anda MTP tarafından desteklenmiyor. |
| .NET testleri ve .NET olmayan test bağdaştırıcılarını (örneğin JavaScript veya C++ bağdaştırıcıları) karıştırmanız gerekir. | VSTest | VSTest karma dil bağdaştırıcısı senaryolarını desteklerken, MTP .NET özgüdür. |
Test projelerinin normal yürütülebilir dosyalar (dotnet rundoğrudan yürütülebilir çalıştırma dotnet watchve başlangıç projesi F5 akışları) gibi davranmasını istiyorsunuz. |
Microsoft.Testing.Platform | MTP yürütülebilir önceliklidir, bu nedenle test uygulamaları yerel ve CI iş akışlarında standart .NET uygulamaları gibi çalışır. |
| Mevcut araçlar arasında uzun süreli tümleştirmelere güvenirsiniz. | VSTest | VSTest, mevcut ürünler, görevler ve işlem hatlarında en uzun uyumluluk izleme kaydına sahiptir. Ekosistemde MTP desteği büyüyor, ancak bazı tümleştirmeler VSTest'in gerisinde kalabilir. |
| Katı varsayılanları ve açık davranışı tercih ediyorsunuz. | Microsoft.Testing.Platform | MTP, hafif, isteğe bağlı bir uzantı modeli ve derleme sırasında kayıt ile belirlenimci yürütmeyi destekler. Örneğin, test çalışmadığında başarısız olabilir, ortama bağımlı değişkenliği azaltabilir ve ortam başına tek tek uzantıları devre dışı bırakmanıza olanak tanır. |
| Daha yumuşak ve geniş, geriye dönük uyumlu varsayılanları tercih ediyorsunuz. | VSTest | Her iki platform da geriye dönük uyumluluğu önemser. VSTest, farklı, mevcut araç zincirleri için uyumluluk odaklı varsayılanlara öncelik verirken, MTP kendi uzantı modeli içinde geriye dönük uyumluluk sağlar. |
| Geçerli iş akışınızda VSTest'e özgü bir sorun veya davranış tarafından engellenirsiniz. | Microsoft.Testing.Platform | Birçok senaryoda, çalışma zamanı modeli ve uzantı mimarisindeki farklılıklar nedeniyle aynı iş akışı MTP'ye taşındığında etkilenmez. |
Özel kullanım örneğiniz listelenmiyorsa her iki platform da geçerli seçeneklerdir.
Tümleştirme ve araç desteği
| Tümleştirme alanı | VSTest | Microsoft.Testing.Platform |
|---|---|---|
| IDE tümleştirmesi | Visual Studio ve VSTest protokolüne ve bağdaştırıcılarına bağlı diğer araçlar arasında gelişmiş entegrasyon. | Visual Studio ve Visual Studio Code senaryolarında desteklenir ve ekosistemin bazı bölümlerinde devam eden tümleştirme çalışmaları vardır. |
| CI ve dış araçlar | Köklü Microsoft ve Microsoft dışı araçlar ve görevler için geniş yelpazede destek. Azure DevOps'da VSTest görevini (VSTest@3, vstest.console) veya .NET görevini (DotNetCoreCLI@2, dotnet test) kullanabilirsiniz. |
CI ve modern .NET iş akışlarında çalışır, ancak bazı üçüncü taraf tümleştirmeleri vsTest'in gerisinde kalabilir. Azure DevOps .NET görevini kullanın (DotNetCoreCLI@2, dotnet test). |
dotnet test Davranış |
Varsayılan VSTest modu. VSTest bağımsız değişkenleri ve davranışı geçerlidir. | Yerel MTP modu, .NET 10 SDK ve sonraki sürümlerde kullanılabilir. |
Modlar ve bağımsız değişkenler hakkında tüm ayrıntılar için dotnet test bkz. dotnet test ile test etme.
Test çerçevenizden başlayın
VSTest'i seçerseniz
- MSTest: MSTest ile test çalıştırma
- NUnit: NUnit ve Microsoft.Testing.Platform
- xUnit.net: xUnit.net kullanmaya başlama
- TUnit: VSTest'te desteklenmez. Microsoft.Testing.Platform'u kullanın.
Microsoft.Testing.Platform'u seçerseniz
- MSTest: MSTest ile test çalıştırma
- NUnit: NUnit'te Microsoft.Testing.Platform desteği (NUnit çalıştırıcısı)
- xUnit.net: Microsoft Test Platform (xUnit.net v3)
- TUnit: TUnit belgeleri
Sonraki Adımlar
- MTP kavramlarını öğrenin: Microsoft.Testing.Platform'a genel bakış
- VSTest seçeneklerini anlama: VSTest seçenekleri
- VSTest'ten geçiş: VSTest'ten Microsoft.Testing.Platform'a geçiş
- Özellik ekleme: Microsoft.Testing.Platform özellikleri