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.
Microsoft.Testing.Platform komut satırında, sürekli tümleştirme (CI) işlem hatlarında, Visual Studio Test Gezgini'nde ve Visual Studio Code'da testleri çalıştırmak için VSTest basit ve taşınabilir bir alternatiftir. Bu makalede, Microsoft.Testing.Platform ile VSTest arasındaki temel farkları öğreneceksiniz.
Test yürütmedeki farklar
Testler çalıştırıcıya bağlı olarak farklı şekillerde yürütülür.
VSTest testlerini yürütme
VSTest, Visual Studio, .NET SDK ve Microsoft.TestPlatform NuGet paketinde tek başına bir araç olarak gönderilir. VSTest, testleri çalıştırmak için doğrudan veya vstest.console.exearacılığıyla kullanılabilecek dotnet testadlı bir çalıştırıcı kullanır.
Microsoft.Testing.Platform testlerini yürütme
Microsoft.Testing.Platform doğrudan test projenize eklenir ve ek yürütülebilir dosya göndermez. Proje yürütülebilir dosyanızı çalıştırdığınızda testleriniz çalıştırılır. Microsoft.Testing.Platform testlerini çalıştırma hakkında daha fazla bilgi için bkz. Microsoft.Testing.Platform'a genel bakış:testleri çalıştırma ve hatalarını ayıklama.
Ad Alanları ve NuGet paketleri
Microsoft.Testing.Platform ve VSTest hakkında bilgi edinmek için, her biri tarafından kullanılan ad alanlarını ve NuGet paketlerini anlamanız yararlı olur.
VSTest ad alanları
VSTest, Test Platformuolarak da bilinen bir test araçları koleksiyonudur. VSTest kaynak kodu açık kaynaktır ve microsoft/vstest GitHub deposunda kullanılabilir. Kod, Microsoft.TestPlatform.* ad alanını kullanır.
VSTest genişletilebilirdir ve yaygın türler Microsoft.TestPlatform.ObjectModel NuGet paketine yerleştirilir.
Microsoft.Testing.Platform ad alanları
Microsoft.Testing.Platform, ad alanındaki Microsoft.Testing.* NuGet paketini ve diğer kitaplıkları temel alır. VSTest gibi Microsoft.Testing.Platform de açık kaynaklıdır ve bir microsoft/testfx GitHub deposuna sahiptir.
İletişim protokolü
Not
Visual Studio Test Gezgini, 17.12'den itibaren Microsoft.Testing.Platform protokollerini destekler. Visual Studio'nun önceki sürümlerini kullanarak testlerinizi çalıştırır/hatalarını ayıklarsanız, Test Gezgini bu testleri çalıştırmak için vstest.console.exe ve eski protokolü kullanır.
Microsoft.Testing.Platform, Visual Studio ile test çalıştırıcısı işlemi arasında iletişim kurmak için JSON-RPC tabanlı bir protokol kullanır. Protokol, MSTest GitHub deposundabelgelenmiştir.
VSTest ayrıca JSON tabanlı bir iletişim protokolü kullanır, ancak JSON-RPC tabanlı değildir.
Yeni protokolü devre dışı bırakma
Test Gezgini'nde yeni protokolün kullanımını devre dışı bırakmak için projenizi düzenleyerek şu özelliği ekleyebilirsiniz: <DisableTestingPlatformServerCapability>true</DisableTestingPlatformServerCapability>.
Ayrıca Visual Studio'da Önizleme Özellikleri seçenekleri'ne gidip "Test platformu sunucu modunu kullan" seçeneğinin seçimini kaldırabilirsiniz.
Yürütülebilir Dosyalar
VSTest, vstest.console.exe, testhost.exeve datacollector.exegibi birden çok yürütülebilir dosya sağlar. Ancak Microsoft.Testing.Platform doğrudan test projenize eklenir ve başka yürütülebilir dosya göndermez. Test projenizin derlediği yürütülebilir dosya, tüm test araçlarını barındırmak ve testleri çalıştırmak için gereken tüm görevleri gerçekleştirmek için kullanılır.