Выполнение и отладка тестов

Тестовые проекты MTP создаются как исполняемые файлы, которые можно запускать (или отлаживать) напрямую. Нет дополнительных тестов, выполняемых в консоли или команде. Приложение завершает работу с ненулевым кодом выхода, если возникает ошибка, что типично для большинства исполняемых файлов. Дополнительные сведения о известных кодах выхода см. в разделе "Коды выхода MTP".

Подсказка

Вы можете игнорировать определенный код выхода с помощью параметра командной строки --ignore-exit-code.

Можно также задать параметры командной строки, которые применяются к определенному тестовому проекту в файле проекта с помощью свойства MSBuild TestingPlatformCommandLineArguments. Распространённый случай использования — это тестовые проекты, в которых все тесты игнорируются, что обычно завершается кодом выхода 8 (в тестовом сеансе не выполняется ни одного теста). В этом сценарии можно добавить следующее под PropertyGroup в файл проекта:

<TestingPlatformCommandLineArguments>$(TestingPlatformCommandLineArguments) --ignore-exit-code 8</TestingPlatformCommandLineArguments>

Это важно

По умолчанию MTP собирает данные телеметрии. Для получения дополнительных сведений и информации об опциях отказа от участия, см. телеметрию MTP.

Публикация тестового проекта с помощью dotnet publish и непосредственный запуск приложения являются другим способом выполнения тестов. Например, выполнение команды ./Contoso.MyTests.exe. В некоторых сценариях также возможно использование dotnet build для создания исполняемого файла, но стоит учитывать крайние случаи, такие как Native AOT.

Используйте dotnet run

Команду dotnet run можно использовать для сборки и запуска вашего тестового проекта. Это самый простой, хотя иногда самый медленный способ выполнения тестов. Использование dotnet run является целесообразным при редактировании и выполнении тестов локально, так как это гарантирует, что тестовый проект перестраивается при необходимости. dotnet run также автоматически находит проект в текущей папке.

dotnet run --project Contoso.MyTests

Дополнительные сведения о dotnet run, см. в dotnet run.

Используйте dotnet exec

Команда dotnet exec или dotnet используется для выполнения (или запуска) уже созданного тестового project, это альтернатива запуску приложения напрямую. для dotnet exec требуется путь к собранной DLL тестового проекта.

dotnet exec Contoso.MyTests.dll

или

dotnet Contoso.MyTests.dll

Замечание

Предоставление пути к исполняемому файлу тестового проекта (*.exe) приводит к ошибке:

Error:
  An assembly specified in the application dependencies manifest
  (Contoso.MyTests.deps.json) has already been found but with a different
  file extension:
    package: 'Contoso.MyTests', version: '1.0.0'
    path: 'Contoso.MyTests.dll'
    previously found assembly: 'S:\t\Contoso.MyTests\bin\Debug\net10.0\Contoso.MyTests.exe'

Дополнительные сведения о dotnet execсм. в разделе dotnet exec.

Используйте dotnet test

MTP предлагает уровень совместимости с vstest.console.exe и dotnet test, обеспечивая выполнение тестов как прежде и добавляя новые сценарии выполнения.

dotnet test Contoso.MyTests.dll

См. также