Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
NUnit prend en charge l’exécution de tests avec VSTest et Microsoft.Testing.Platform (MTP). La prise en charge de MTP est alimentée par l’exécuteur NUnit, qui peut exécuter des tests dans tous les contextes (par exemple, les pipelines d’intégration continue (CI), l’interface CLI, l’Explorateur de tests Visual Studio et l’Explorateur de texte VS Code. L'exécuteur NUnit est directement intégré à vos projets de test NUnit, et aucune autre dépendance d'application, telle que vstest.console
ou dotnet test
, n'est nécessaire pour exécuter vos tests. Toutefois, vous pouvez toujours exécuter vos tests à l’aide de dotnet test
.
L’exécuteur NUnit est open source et s’appuie sur Microsoft.Testing.Platform
. Vous trouverez du code Microsoft.Testing.Platform
dans le référentiel GitHub microsoft/testfx. Le moteur d'exécution NUnit prend en charge la version 5.0 ou supérieure de NUnit3TestAdapter. Pour plus d’informations, consultez NUnit et Microsoft.Testing.Platform
Activer le runner NUnit dans un projet NUnit
Vous pouvez activer le runner NUnit en ajoutant la propriété EnableNUnitRunner
et en définissant OutputType
sur Exe
dans votre fichier projet. Vous devez également vous assurer que vous utilisez NUnit3TestAdapter
la version 5.0 ou ultérieure.
Conseil / Astuce
Pour vous assurer que tous les projets de test de votre solution utilisent le pilote NUnit, définissez les propriétés EnableNUnitRunner
et TestingPlatformDotnetTestSupport
dans le fichier Directory.Build.props au lieu de fichiers projet individuels.
Prenez l’exemple de fichier projet suivant :
<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>
Configurations et filtres
.runsettings
L’exécuteur NUnit prend en charge le runsettings par l’option --settings
en ligne de commande. Les commandes suivantes affichent des exemples.
Utilisation de dotnet run
:
dotnet run --project Contoso.MyTests -- --settings config.runsettings
Utilisation de dotnet exec
:
dotnet exec Contoso.MyTests.dll --settings config.runsettings
- ou -
dotnet Contoso.MyTests.dll --settings config.runsettings
Utilisation de l’exécutable :
Contoso.MyTests.exe --settings config.runsettings
Filtre de tests
Vous pouvez fournir les filtres de tests en toute transparence à l’aide de l’option --filter
en ligne de commande. Les commandes suivantes en donnent quelques exemples.
Utilisation de dotnet run
:
dotnet run --project Contoso.MyTests -- --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
Utilisation de dotnet exec
:
dotnet exec Contoso.MyTests.dll --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
- ou -
dotnet Contoso.MyTests.dll --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
Utilisation de l’exécutable :
Contoso.MyTests.exe --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"