Тестируйте несколько проектов с помощью теста 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
без дополнительных аргументов, который автоматически ищет тестовые проекты в текущем каталоге (см. документацию).