MSTest çalıştırıcıya genel bakış
MSTest çalıştırıcısı tüm bağlamlarda (örneğin, sürekli tümleştirme (CI) işlem hatları, CLI, Visual Studio Test Gezgini ve VS Code Metin Gezgini) testleri çalıştırmak için VSTest'e basit ve taşınabilir bir alternatiftir. MSTest çalıştırıcısı doğrudan MSTest test projelerinize eklenir ve testlerinizi çalıştırmak için veya dotnet test
gibi vstest.console
başka uygulama bağımlılıkları yoktur.
MSTest çalıştırıcısı açık kaynak ve bir Microsoft.Testing.Platform
kitaplık üzerinde oluşturulur. Kodu microsoft/testfx GitHub deposunda bulabilirsinizMicrosoft.Testing.Platform
. MSTest çalıştırıcısı veya daha yenisi ile birlikte MSTest in 3.2.0-preview.23623.1
gelir.
MSTest projesinde MSTest çalıştırıcısını etkinleştirme
Proje yapılandırmanızı, projenin güncelleştirilmesini büyük ölçüde basitleştirdiğinden ve platformun sürümlerinin (MSTest çalıştırıcısı) ve uzantılarının düzgün bir şekilde hizalanmasını sağladığından MSTest SDK'sını kullanmanız önerilir.
kullandığınızda MSTest SDK
, varsayılan olarak MSTest çalıştırıcısını kullanmaya kabul edilirsiniz.
<Project Sdk="MSTest.Sdk/3.3.1">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
Alternatif olarak, proje dosyanıza özelliğini ve ayarını OutputType
ekleyerek MSTest çalıştırıcısını EnableMSTestRunner
Exe
etkinleştirebilirsiniz. Ayrıca veya daha yeni bir sürüm kullandığınızdan MSTest 3.2.0-preview.23623.1
da emin olmanız gerekir.
Aşağıdaki örnek proje dosyasını göz önünde bulundurun:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!-- Enable the MSTest runner, this is an opt-in feature -->
<EnableMSTestRunner>true</EnableMSTestRunner>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup>
<!--
MSTest meta package is the recommended way to reference MSTest.
It's equivalent to referencing:
Microsoft.NET.Test.Sdk
MSTest.TestAdapter
MSTest.TestFramework
MSTest.Analyzers
-->
<PackageReference Include="MSTest" Version="3.2.0" />
<!--
Coverlet collector isn't compatible with MSTest runner, you can
either switch to Microsoft CodeCoverage (as shown below),
or switch to be using coverlet global tool
https://github.com/coverlet-coverage/coverlet#net-global-tool-guide-suffers-from-possible-known-issue
-->
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage"
Version="17.10.1" />
</ItemGroup>
</Project>
Yapılandırmalar ve filtreler
.runsettings
MSTest çalıştırıcısı, komut satırı seçeneği --settings
aracılığıyla runsettings'i destekler. Desteklenen MSTest girdilerinin tam listesi için bkz . MSTest: Runsettings'i yapılandırma. Aşağıdaki komutlar çeşitli kullanım örneklerini gösterir.
kullanarak dotnet run
:
dotnet run --project Contoso.MyTests -- --settings config.runsettings
kullanarak dotnet exec
:
dotnet exec Contoso.MyTests.dll --settings config.runsettings
-veya-
dotnet Contoso.MyTests.dll --settings config.runsettings
Yürütülebilir dosyayı kullanma:
Contoso.MyTests.exe --settings config.runsettings
Testler filtresi
Komut satırı seçeneğini kullanarak test filtresini sorunsuz bir şekilde sağlayabilirsiniz --filter
. Aşağıdaki komutlarda bazı örnekler gösterilmektedir.
kullanarak dotnet run
:
dotnet run --project Contoso.MyTests -- --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
kullanarak dotnet exec
:
dotnet exec Contoso.MyTests.dll --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
-veya-
dotnet Contoso.MyTests.dll --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
Yürütülebilir dosyayı kullanma:
Contoso.MyTests.exe --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
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