Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Tipp
Bevor Sie einen Läufer aktivieren, lesen Sie die Übersicht über Testplattformen.
NUnit unterstützt die Ausführung von Tests mit VSTest und Microsoft.Testing.Platform (MTP). Die Unterstützung für MTP wird vom NUnit-Runner unterstützt, der Tests in allen Kontexten (z. B. fortlaufende Integration (CI) pipelines, CLI, Visual Studio Test Explorer und VS Code Text Explorer ausführen kann. Der NUnit-Runner ist direkt in Ihre NUnit-Testprojekte eingebettet, und es gibt keine anderen App-Abhängigkeiten, z. B. vstest.console oder dotnet test, die zum Ausführen ihrer Tests erforderlich sind. Sie können Ihre Tests jedoch weiterhin mit dotnet testausführen.
Der NUnit-Runner ist open source und baut auf Microsoft.Testing.Platform auf. Sie finden Microsoft.Testing.Platform Code im Repository microsoft/testfx GitHub. Der NUnit-Runner wird in NUnit3TestAdapter, Version 5.0 oder höher, unterstützt. Weitere Informationen finden Sie unter NUnit- und Microsoft.Testing.Platform-
Aktivieren des NUnit-Runners in einem NUnit-Projekt
Sie können NUnit-Runner aktivieren, indem Sie die Eigenschaft EnableNUnitRunner hinzufügen und OutputType auf Exe in Ihrer project Datei festlegen. Außerdem müssen Sie sicherstellen, dass Sie NUnit3TestAdapter Version 5.0 oder höher verwenden.
Tipp
Um sicherzustellen, dass alle Testprojekte in Ihrer Lösung den NUnit-Runner verwenden, legen Sie die EnableNUnitRunner und TestingPlatformDotnetTestSupport Eigenschaften in Directory.Build.propsDatei anstelle einzelner project Dateien fest.
Betrachten Sie das folgende Beispiel project Datei:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!-- Enable the NUnit runner, this is an opt-in feature -->
<EnableNUnitRunner>true</EnableNUnitRunner>
<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>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="NUnit" Version="4.3.2" />
<PackageReference Include="NUnit.Analyzers" Version="4.6.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="NUnit3TestAdapter" Version="5.0.0" />
<!--
Coverlet collector isn't compatible with NUnit 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>
Konfigurationen und Filter
.runsettings
Der NUnit-Runner unterstützt runsettings über die Befehlszeilenoption --settings. Die folgenden Befehle zeigen Beispiele.
Verwendung von dotnet run:
dotnet run --project Contoso.MyTests -- --settings config.runsettings
Verwendung von dotnet exec:
dotnet exec Contoso.MyTests.dll --settings config.runsettings
-oder-
dotnet Contoso.MyTests.dll --settings config.runsettings
Mit der ausführbaren Datei:
Contoso.MyTests.exe --settings config.runsettings
Testfilter
Sie können die Tests nahtlos mit der Befehlszeilenoption --filter. Die folgenden Befehle zeigen einige Beispiele.
Verwendung von dotnet run:
dotnet run --project Contoso.MyTests -- --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
Verwendung von dotnet exec:
dotnet exec Contoso.MyTests.dll --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
-oder-
dotnet Contoso.MyTests.dll --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
Mit der ausführbaren Datei:
Contoso.MyTests.exe --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"