Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Совет
Прежде чем включить средство выполнения, ознакомьтесь с общими сведениями о платформах тестирования.
NUnit поддерживает выполнение тестов с помощью VSTest и Microsoft.Testing.Platform (MTP). Поддержка MTP осуществляется с помощью средства выполнения NUnit, которое может запускать тесты во всех контекстах, например, в пайплайнах непрерывной интеграции (CI), с использованием CLI, обозревателя тестов Visual Studio и обозревателя текстов в VS Code. Средство выполнения NUnit внедрено непосредственно в тестовые проекты NUnit, и для выполнения тестов нет других зависимостей приложений, таких как vstest.console или dotnet test. Однако вы по-прежнему можете выполнять тесты с помощью dotnet test.
Средство выполнения NUnit, с открытым исходным кодом, и строится на основе Microsoft.Testing.Platform. Код Microsoft.Testing.Platform можно найти в репозитории microsoft/testfx GitHub. Средство выполнения NUnit поддерживается в NUnit3TestAdapter версии 5.0 или новее. Дополнительные сведения см. в разделе NUnit и Microsoft.Testing.Platform
Включение средства выполнения NUnit в проекте NUnit
Чтобы включить средство выполнения NUnit, добавьте свойство EnableNUnitRunner и присвойте параметру OutputType значение Exe в файле project. Кроме того, необходимо убедиться, что вы используете NUnit3TestAdapter версии 5.0 или более поздней.
Совет
Чтобы убедиться, что все тестовые проекты в решении используют средство выполнения NUnit, задайте свойства EnableNUnitRunner и TestingPlatformDotnetTestSupport в файле Directory.Build.props вместо отдельных файлов проекта.
Рассмотрим следующий пример project файла:
<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>
Конфигурации и фильтры
.runsettings
Средство выполнения NUnit поддерживает runsettings с помощью параметра командной строки --settings. В следующих командах приведены примеры.
Использование dotnet run:
dotnet run --project Contoso.MyTests -- --settings config.runsettings
Использование dotnet exec:
dotnet exec Contoso.MyTests.dll --settings config.runsettings
-или-
dotnet Contoso.MyTests.dll --settings config.runsettings
Использование исполняемой программы:
Contoso.MyTests.exe --settings config.runsettings
Фильтр тестов
Вы можете легко предоставить тесты фильтру с помощью параметра командной строки --filter. В следующих командах показаны некоторые примеры.
Использование dotnet run:
dotnet run --project Contoso.MyTests -- --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
Использование dotnet exec:
dotnet exec Contoso.MyTests.dll --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
-или-
dotnet Contoso.MyTests.dll --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
Использование исполняемой программы:
Contoso.MyTests.exe --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"