Тестируйте несколько проектов с помощью теста dotnet с использованием шаблона

Я пишу сценарий для сборки и тестирования проектов в репозитории. Сейчас я использую команду PowerShellGet-ChildItem -Path test -Filter *.csproj -Recurse | ForEach-Object { dotnet test $_.FullName -c $Configuration }чтобы получить все файлы.csproj в моей тестовой папке и запустить в них тесты. Однако, когда я бегу, я замечаю, например,dotnet test test/ProjectA/ProjectA.csproj Я получаю это сообщение:

Всего 1 тестовый файл соответствовал указанному шаблону.

Увидев это, я предположил, что можно использовать шаблон для запуска тестов в нескольких проектах с помощью одной команды, но я не могу найти для него документацию или заставить ее работать. Когда я пытаюсьdotnet test test/**/*.csproj Я получил:

MSBUILD: ошибка MSB1009: файл проекта не существует.

3 ответа

Похоже, что в настоящее время он не поддерживается. На данный момент ближайшая альтернатива - передать путь к файлу решения в dotnet testкоманда. Таким образом, он запустит все тесты из всех проектов, добавленных в решение.

dotnet test foo/bar.sln

Рассмотрите возможность использования dotnet test --filter FullyQualifiedName!~YourTestNameOrPartName

Сопоставление с образцом в настоящее время таким образом не поддерживается. Но можно просто позвонитьdotnet testбез дополнительных аргументов, который автоматически ищет тестовые проекты в текущем каталоге (см. документацию).

Другие вопросы по тегам