Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Borravaló
A futók engedélyezése előtt tekintse meg a tesztplatformok áttekintését.
Az NUnit támogatja a tesztek futtatását mind a VSTest, mind a Microsoft.Testing.Platform (MTP)használatával. Az MTP támogatását az NUnit futó biztosítja, amely minden környezetben futtathat teszteket (például folyamatos integrációs (CI) pipelines, parancssori felület, Visual Studio Test Explorer és VS Code Text Explorer). Az NUnit-futó közvetlenül az NUnit-tesztprojektekbe van beágyazva, és a tesztek futtatásához nincs szükség más alkalmazásfüggőségekre, például vstest.console vagy dotnet test. A teszteket azonban továbbra is futtathatja a dotnet testhasználatával.
Az NUnit futó nyílt forráskódú, és az MTP-re épül. A Microsoft.Testing.Platform GitHub adattárban található kód. Az NUnit futó az NUnit3TestAdapter 5.0-s vagy újabb verziójában támogatott. További információ: NUnit és MTP.
Az NUnit-futó engedélyezése egy NUnit-projektben
Az NUnit-futó engedélyezéséhez adja hozzá a EnableNUnitRunner tulajdonságot, és állítsa a OutputType értéket Exe-re a projekt fájlban. Arról is gondoskodnia kell, hogy NUnit3TestAdapter 5.0-s vagy újabb verzióját használja.
Borravaló
Annak érdekében, hogy a megoldás összes tesztprojektje használja az NUnit-futót, állítsa be a EnableNUnitRunner és TestingPlatformDotnetTestSupport tulajdonságokat a Directory.Build.props fájlban az egyes project fájlok helyett.
Tekintse meg a következő példát project fájlra:
<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/unit-testing-with-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>
Konfigurációk és szűrők
.runsettings
Az NUnit tesztelő a parancssori opció segítségével támogatja a --settings. Az alábbi parancsok példákat mutatnak be.
A dotnet runhasználata:
dotnet run --project Contoso.MyTests -- --settings config.runsettings
A dotnet exechasználata:
dotnet exec Contoso.MyTests.dll --settings config.runsettings
-vagy-
dotnet Contoso.MyTests.dll --settings config.runsettings
A végrehajtható fájl használata:
Contoso.MyTests.exe --settings config.runsettings
Tesztszűrő
A teszteket zökkenőmentesen megadhatja a parancssori kapcsolóval --filter. Az alábbi parancsok példákat mutatnak be.
A dotnet runhasználata:
dotnet run --project Contoso.MyTests -- --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
A dotnet exechasználata:
dotnet exec Contoso.MyTests.dll --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
-vagy-
dotnet Contoso.MyTests.dll --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
A végrehajtható fájl használata:
Contoso.MyTests.exe --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"