Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Använd Microsoft.Testing.Platform i VSTest-läget för
Den här artikeln förklarar integreringen av dotnet test
för Microsoft.Testing.Platform, som tillhandahålls av Microsoft.Testing.Platform.MSBuild när den körs i VSTest-läget av dotnet test
.
Innan du går in på den här artikeln rekommenderar vi att du först läser Testa med dotnet-test, vilket förklarar de två lägena dotnet test
för (VSTest- och MTP-lägen).
Som standard dotnet test
använder VSTest för att köra tester. Om du vill aktivera stöd för Microsoft.Testing.Platform
i dotnet test
har du två alternativ:
- Använd
dotnet test
i VSTest-läge och ange<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
egenskapen MSBuild i projektfilen. - Använd
dotnet test
i MTP-läge för mer internt stöd för MTP idotnet test
, som endast stöds från och med .NET 10 SDK.
Båda alternativen beskrivs i detalj i artikeln Testa med dotnet-test .
Viktig
Resten av den här artikeln är specifika för VSTest-läget dotnet test
.
Försiktighet
Från och med .NET 10 SDK rekommenderar vi att du inte använder VSTest-läget dotnet test
för när du kör med Microsoft.Testing.Platform.
Visa fel för varje test
Som standard sammanfattas testfel i en .log fil och ett enskilt fel per testprojekt rapporteras till MSBuild.
Om du vill visa fel per misslyckat test anger du -p:TestingPlatformShowTestsFailure=true
på kommandoraden eller lägger till egenskapen <TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure>
i projektfilen.
På kommandoraden:
dotnet test -p:TestingPlatformShowTestsFailure=true
Eller i projektfilen:
<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>
Visa fullständiga plattformsutdata
Som standardinställning samlas alla konsolutdata som det underliggande körbara testprogrammet skriver in och göms för användaren. Detta inkluderar banderoll, versionsinformation och formaterad testinformation.
Om du vill visa den här informationen tillsammans med MSBuild-utdata använder du <TestingPlatformCaptureOutput>false</TestingPlatformCaptureOutput>
.
Det här alternativet påverkar inte hur testramverket samlar in användarutdata som skrivits av Console.WriteLine
eller andra liknande sätt att skriva till konsolen.
På kommandoraden:
dotnet test -p:TestingPlatformCaptureOutput=false
Eller i projektfilen:
<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>
Viktig
Alla exempel ovan lägger till egenskaper som EnableMSTestRunner
, TestingPlatformDotnetTestSupport
och TestingPlatformCaptureOutput
i csproj-filen. Vi rekommenderar dock starkt att du anger dessa egenskaper i Directory.Build.props
. På så sätt behöver du inte lägga till den i varje testprojektfil, och du riskerar inte att introducera ett nytt projekt som inte anger dessa egenskaper och får en lösning där vissa projekt är VSTest medan andra är Microsoft.Testing.Platform, som kanske inte fungerar korrekt och inte stöds.