Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Det finns flera sätt att köra MSTest-tester beroende på dina behov. Du kan köra tester från en IDE (till exempel Visual Studio, Visual Studio Code eller JetBrains Rider) eller från kommandoraden eller från en CI-tjänst (till exempel GitHub Actions eller Azure DevOps).
Tidigare förlitade sig MSTest på VSTest för att köra tester i alla kontexter, men från och med version 3.2.0 har MSTest en egen testlöpare. Den här nya löparen är enklare och snabbare än VSTest, och det är det rekommenderade sättet att köra MSTest-tester.
VSTest jämfört med Microsoft.Testing.Platform (MTP)
MSTest stöder körning av tester med både VSTest och Microsoft.Testing.Platform (MTP). Stödet för MTP drivs av MSTest-löparen, som kan köra tester i alla kontexter (till exempel CI-pipelines (kontinuerlig integrering), CLI, Visual Studio Test Explorer och VS Code Text Explorer). MSTest-löparen är inbäddad direkt i dina MSTest-testprojekt, och det finns inga andra appberoenden, som vstest.console eller dotnet test, som behövs för att köra dina tester. Du kan dock fortfarande köra dina tester med .dotnet test
MSTest-löparen är öppen källkod och bygger på Microsoft.Testing.Platform biblioteket. Du hittar Microsoft.Testing.Platform kod på GitHub-lagringsplatsen microsoft/testfx . MSTest-testverktyget levereras med MSTest in 3.2.0 eller senare.
Aktivera Microsoft.Testing.Platform i ett MSTest-projekt
Vi rekommenderar att du använder MSTest SDK eftersom det avsevärt förenklar projektkonfigurationen och uppdateringen av projektet, och det säkerställer en korrekt justering av versionerna av plattformen (Microsoft.Testing.Platform) och dess tillägg.
När du använder MSTest SDKväljer du som standard att använda Microsoft.Testing.Platform.
<Project Sdk="MSTest.Sdk/4.1.0">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
Alternativt kan du aktivera MSTest runner genom att lägga till egenskapen EnableMSTestRunner och ställa in OutputType till Exe i din projektfil. Du måste också se till att du använder MSTest 3.2.0 eller senare. Vi rekommenderar starkt att du uppdaterar till den senaste tillgängliga MSTest-versionen.
Överväg följande exempelprojektfil:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!-- Enable Microsoft.Testing.Platform, this is an opt-in feature -->
<EnableMSTestRunner>true</EnableMSTestRunner>
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
<!--
Displays error on console in addition to the log file. Note that this feature comes with a performance impact.
For more information, visit https://learn.microsoft.com/dotnet/core/testing/microsoft-testing-platform-integration-dotnet-test#show-failure-per-test
-->
<TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</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
Starting with 3.8, it also includes:
Microsoft.Testing.Extensions.TrxReport
Microsoft.Testing.Extensions.CodeCoverage
-->
<PackageReference Include="MSTest" Version="4.1.0" />
</ItemGroup>
</Project>
Tips/Råd
För att säkerställa att alla testprojekt i lösningen använder MSTest-löparen anger du EnableMSTestRunner egenskaperna och TestingPlatformDotnetTestSupport i filen Directory.Build.props i stället för enskilda projektfiler.
Konfigurationer och filter
.runsettings
Microsoft.Testing.Platform stöder körinställningar genom kommandoradsalternativet --settings. Den fullständiga listan över MSTest-poster som stöds finns i Konfigurera MSTest: Runsettings. Följande kommandon visar olika användningsexempel.
Att använda dotnet run:
dotnet run --project Contoso.MyTests -- --settings config.runsettings
Att använda dotnet exec:
dotnet exec Contoso.MyTests.dll --settings config.runsettings
-or-
dotnet Contoso.MyTests.dll --settings config.runsettings
Använd den körbara filen:
Contoso.MyTests.exe --settings config.runsettings
Testfilter
Du kan ange testfiltret sömlöst med hjälp av kommandoradsalternativet --filter. Följande kommandon visar några exempel.
Att använda dotnet run:
dotnet run --project Contoso.MyTests -- --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
Att använda dotnet exec:
dotnet exec Contoso.MyTests.dll --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
-or-
dotnet Contoso.MyTests.dll --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
Använd den körbara filen:
Contoso.MyTests.exe --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"