Microsoft.Testing.Platform'u dotnet test
Bu makalede, kullanırken Microsoft.Testing.Platform
testleri çalıştırmak için nasıl kullanılacağı dotnet test
ve Testleri Microsoft.Testing.Platform üzerinden çalıştırırken üretilen MSBuild çıkışını yapılandırmak için kullanılabilen çeşitli seçenekler açıklanmaktadır.
Bu makalede, kullanan Microsoft.Testing.Platform
bir çözümde (*.sln) tüm testleri çalıştırmak için nasıl kullanılacağı dotnet test
gösterilmektedir.
dotnet test
Entegrasyon
dotnet test komutu çözümlerden, projelerden veya önceden oluşturulmuş derlemelerden testleri çalıştırmanın bir yoludur. Microsoft.Testing.Platform , özellikle VSTest'ten öğesine geçiş yaparken testleri çalıştırmak için birleşik bir yol sağlamak için bu altyapıya Microsoft.Testing.Platform
bağlanıyor.
dotnet test
tümleştirme - VSTest modu
Microsoft.Testing.Platform
sorunsuz bir şekilde çalışmak dotnet test
için bir uyumluluk katmanı (VSTest Köprüsü) sağlar.
Testler çalıştırılarak çalıştırılabilir:
dotnet test
Bu katman VSTest üzerinden test çalıştırır ve VSTest Test Çerçevesi Bağdaştırıcısı düzeyinde onunla tümleşir.
dotnet test
- Microsoft.Testing.Platform modu
Varsayılan olarak, VSTest testleri çalıştırmak Microsoft.Testing.Platform
için kullanılır. Projenizde ayarı belirterek bir tam Microsoft.Testing.Platform
değeri <TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
etkinleştirebilirsiniz. Bu ayar VSTest'i devre dışı bırakır ve Microsoft.Testing.Platform.MSBuild NuGet paketine geçişli bağımlılık sayesinde çözümünüzdeki tüm Microsoft.Testing.Platform
güçlü testler projesini doğrudan çalıştırır. Doğrudan Microsoft.Testing.Platform
test projelerini geçerseniz sorunsuz çalışır.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType>
<EnableMSTestRunner>true</EnableMSTestRunner>
<!-- Add this to your project file. -->
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
</PropertyGroup>
<!-- ... -->
</Project>
Bu modda, çalıştırmaya yönelik ek parametreler doğrudan komut satırı üzerinden sağlanmamıştır. Bunların adlı TestingPlatformCommandLineArguments
bir MSBuild özelliği olarak sağlanması gerekir:
dotnet test -p:TestingPlatformCommandLineArguments=" --minimum-expected-tests 10 "
Ek MSBuild seçenekleri
MSBuild tümleştirmesi, kullanıcı projesinde veya gibi komut satırındaki -p:TestingPlatformShowTestsFailure=true
genel özellikler aracılığıyla belirtilebilen seçenekler sağlar.
Kullanılabilir seçenekler şunlardır:
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 belirtin -p:TestingPlatformShowTestsFailure=true
veya proje dosyanıza özellik ekleyin <TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure>
.
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>
<IsTestProject>true</IsTestProject>
<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 yazmalarının tüm konsol çıkışı yakalanır ve kullanıcıdan gizlenir. Buna başlık, sürüm bilgileri ve biçimlendirilmiş test bilgileri dahildir.
Bu bilgileri MSBuild çıktısı ile birlikte göstermek için kullanın<TestingPlatformCaptureOutput>false</TestingPlatformCaptureOutput>
.
Bu seçenek, test çerçevesinin tarafından Console.WriteLine
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>
<IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType>
<EnableMSTestRunner>true</EnableMSTestRunner>
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
<!-- Add this to your project file. -->
<TestingPlatformCaptureOutput>false</TestingPlatformCaptureOutput>
</PropertyGroup>
<!-- ... -->
</Project>
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin