Vue d’ensemble de l’exécuteur NUnit
L’exécuteur NUnit est une alternative légère et portable à VSTest pour l’exécution de tests dans tous les contextes (par exemple, les pipelines d’intégration continue (CI), l’interface de ligne de commande (CLI), l’explorateur de tests Visual Studio et l’explorateur de texte VS Code). L’exécuteur NUnit est incorporé directement dans vos projets de test NUnit, et il n’existe aucune autre dépendance d’application, telles que vstest.console
ou dotnet test
, nécessaire pour exécuter vos tests.
L’exécuteur NUnit est open source et s’appuie sur une bibliothèque Microsoft.Testing.Platform
. Vous trouverez du code Microsoft.Testing.Platform
dans le référentiel GitHub microsoft/testfx. L’exécuteur NUnit est fourni avec NUnit 5.0.0-beta.2
ou version ultérieure.
Activer l’exécuteur NUnit dans un projet NUnit
Vous pouvez activer l’exécuteur NUnit en ajoutant la propriété EnableNUnitRunner
et le paramètre OutputType
à Exe
dans votre fichier projet. Vous devez également vous assurer d’utiliser NUnit 5.0.0-beta.2
ou version ultérieure.
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>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="NUnit" Version="4.1.0" />
<PackageReference Include="NUnit.Analyzers" Version="4.2.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="NUnit3TestAdapter" Version="5.0.0-beta.2" />
<!--
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 donnent 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 filtre 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"