Поделиться через


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

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

Подсказка

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

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

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

Это важно

По умолчанию Microsoft.Testing.Platform собирает данные телеметрии. Дополнительную информацию и параметры отказа см. в разделе телеметрии Microsoft.Testing.Platform .

Публикация тестового проекта с помощью 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

Microsoft.Testing.Platform предлагает слой совместимости с vstest.console.exe и dotnet test, обеспечивая выполнение тестов, как и раньше, при этом поддерживается новый сценарий выполнения.

dotnet test Contoso.MyTests.dll

См. также