Обзор Microsoft.Testing.Platform

Microsoft.Testing.Platform — это упрощенная и переносимая альтернатива VSTest для выполнения тестов во всех контекстах, включая конвейеры непрерывной интеграции (CI), cli, Visual Studio Test Обозреватель и текст VS Code Обозреватель. Платформа Microsoft.Testing.Platform внедрена непосредственно в тестовые проекты, и нет других зависимостей приложений, например vstest.console или dotnet test необходимых для выполнения тестов.

Microsoft.Testing.Platformимеет значение открытый код. Код можно найти Microsoft.Testing.Platform в репозитории microsoft/testfx GitHub.

Поддерживаемые тестовые платформы

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

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

Внимание

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

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

Использование dotnet run

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

dotnet run --project Contoso.MyTests

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

Использование dotnet exec

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

dotnet exec Contoso.MyTests.dll

or

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\net8.0\Contoso.MyTests.exe'

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

Использование dotnet test

Microsoft.Testing.Platform предлагает уровень совместимости и vstest.console.exedotnet test обеспечивает выполнение тестов, как и раньше, при включении нового сценария выполнения.

dotnet test Contoso.MyTests.dll

Параметры

В приведенном ниже списке описаны только параметры платформы. Чтобы просмотреть определенные параметры, представленные каждым расширением, перейдите на страницу документации по расширению или используйте --help этот параметр.

  • --diagnostic

Включает ведение журнала диагностики. Уровень журнала по умолчанию .Trace Файл записывается в выходной каталог со следующим форматом имени. log_[MMddHHssfff].diag

  • --diagnostic-filelogger-synchronouswrite

Позволяет встроенному средству ведения журнала файлов синхронно записывать журналы. Полезно для сценариев, когда вы не хотите терять записи журнала (если процесс завершается сбоем). Это замедляет выполнение теста.

  • --diagnostic-output-directory

Выходной каталог журнала диагностики, если файл не указан в каталоге TestResults по умолчанию.

  • --diagnostic-output-fileprefix

Префикс имени файла журнала. По умолчанию — "log_".

  • --diagnostic-verbosity

Определяет уровень детализации при использовании коммутатора --diagnostic . Доступные значения: Trace, Debug, Information, WarningErrorили Critical.

  • --help

Выводит описание использования команды.

  • -ignore-exit-code

Позволяет игнорировать некоторые коды выхода, отличные от нуля, и вместо этого возвращается как 0. Дополнительные сведения см. в разделе "Игнорировать определенные коды выхода".

  • --info

Отображает дополнительные сведения о тестовом приложении .NET, например:

  • Платформа.
  • Среда.
  • Каждый зарегистрированный поставщик командной строки, например его, name, descriptionversionи options.
  • Каждый зарегистрированный инструмент, например его, command, name, version, descriptionи все поставщики командной строки.

Эта функция используется для понимания расширений, которые регистрируют один и тот же параметр командной строки или изменения доступных параметров между несколькими версиями расширения (или платформой).

  • --list-tests

Список доступных тестов. Тесты не будут выполняться.

  • --minimum-expected-tests

Указывает минимальное количество тестов, которые должны выполняться. По умолчанию ожидается выполнение хотя бы одного теста.

  • --results-directory

Каталог для сохранения результатов тестов. Если указанный каталог не существует, он создается. По умолчанию используется TestResults каталог, содержащий тестовое приложение.

См. также