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.
VSTest modunda Microsoft.Testing.Platform kullanımı
Bu makalede, dotnet test'nin VSTest modunda çalışırken Microsoft.Testing.Platform.MSBuild tarafından sağlanan dotnet test için Microsoft.Testing.Platform tümleştirmesi açıklanmaktadır.
Bu makaleye girmeden önce, ilk olarak iki modunu (VSTest ve MTP modları) açıklayan Dotnet testi ile test etme makalesini dotnet test okumanız önerilir.
Varsayılan olarak, dotnet test testleri çalıştırmak için VSTest kullanır.
Microsoft.Testing.Platform içinde dotnet test desteğini etkinleştirmek için iki seçeneğiniz var:
- VSTest modunda kullanın
dotnet testve proje dosyanızda MSBuild özelliğini belirtin<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>. - MTP'nin daha yerel desteği için
dotnet testöğesinidotnet testile birlikte MTP modunda kullanın. Bu, yalnızca .NET 10 SDK'sı ile birlikte desteklenmektedir.
Her iki seçenek de dotnet test ile test etme makalesinde ayrıntılı olarak açıklanmıştır.
Önemli
Bu makalenin geri kalanı VSTest moduna özgüdür dotnet test.
Dikkat
.NET 10 SDK'sı ile başlayarak, Microsoft.Testing.Platform ile çalışırken VSTest modunun dotnet test kullanılmaması önerilir.
Test başına hatayı göster
Varsayılan olarak, test hataları bir .log dosyasında özetlenir ve test projesi başına tek bir hata MSBuild'e bildirilir.
Başarısız test başına hataları göstermek için komut satırında -p:TestingPlatformShowTestsFailure=true belirtin veya proje dosyanıza <TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure> özelliğini ekleyin.
Komut satırında:
dotnet test -p:TestingPlatformShowTestsFailure=true
Veya proje dosyasında:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<OutputType>Exe</OutputType>
<EnableMSTestRunner>true</EnableMSTestRunner>
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
<!-- Add this to your project file. -->
<TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure>
</PropertyGroup>
<!-- ... -->
</Project>
Tam platform çıkışını göster
Varsayılan olarak, temel alınan test yürütülebilir dosyanın yazdığı tüm konsol çıkışı yakalanır ve kullanıcıdan saklanır. Buna başlık, sürüm bilgileri ve biçimlendirilmiş test bilgileri dahildir.
Bu bilgileri MSBuild çıkışıyla birlikte göstermek için <TestingPlatformCaptureOutput>false</TestingPlatformCaptureOutput>kullanın.
Bu seçenek, test çerçevesinin Console.WriteLine tarafından yazılan kullanıcı çıkışını veya konsola yazmanın diğer benzer yollarını yakalama şeklini etkilemez.
Komut satırında:
dotnet test -p:TestingPlatformCaptureOutput=false
Veya proje dosyasında:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<OutputType>Exe</OutputType>
<EnableMSTestRunner>true</EnableMSTestRunner>
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
<!-- Add this to your project file. -->
<TestingPlatformCaptureOutput>false</TestingPlatformCaptureOutput>
</PropertyGroup>
<!-- ... -->
</Project>
Önemli
Yukarıdaki tüm örnekler csproj dosyasına EnableMSTestRunner, TestingPlatformDotnetTestSupportve TestingPlatformCaptureOutput gibi özellikler ekler. Ancak, bu özellikleri Directory.Build.propsiçinde ayarlamanız kesinlikle önerilir. Bu şekilde, bu özellikleri her test projesi dosyasına eklemeniz gerekmez ve bu özellikleri ayarlamayan bir projeyi başka bir projeye eklemek riskine girmezsiniz; böylece, bazı projelerin VSTest olduğu, diğerlerinin ise Microsoft.Testing.Platform olduğu ve bu nedenle doğru çalışmama ihtimali taşıyan ve desteklenmeyen bir senaryoya sahip olmazsınız.