Как развернуть дополнительные тестовые файлы с помощью .runsettings? - PullRequest
0 голосов
/ 15 мая 2018

Я мигрировал с TPv1 на TPv2 (тестовая платформа v2).Я запускаю свои тесты, используя vstest.console.exe.Я использовал файл .testsettings для развертывания дополнительных файлов, которые требовались для моих тестов (обычно это XML с некоторыми данными).Скелет моего решения следующий:

enter image description here

Мой TestSettings1.testsettings следующий:

enter image description here

Я использую эту команду для запуска своих тестов:

@SET LOCAL_SETTINGS=C:\data\Development\Solution14
@SET VSTEST_CONSOLE="C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/Common7/IDE/Extensions/TestPlatform/vstest.console.exe"
%VSTEST_CONSOLE% C:\data\Development\Solution14\UnitTestProject1\bin\debug\UnitTestProject1.dll ^
/Settings:%LOCAL_SETTINGS%\TestSettings1.testsettings 

Очень удобно использовать .testsettings для развертывания элементов.

Итак, по некоторым причинам я больше не могу использовать .testsettings, но могу использовать атрибуты .runsettings и DeploymentItem.

С .testsettings Мне не нужно добавлять кусок кода в каждый проект для развертывания моих файлов.Я просто использую флаг /Settings с vstest.console.exe, и это развертывание относится к проекту, который я хочу.С DeploymentItem я должен использовать некоторый код в каждом проекте модульного тестирования.Эти части кода одинаковы, и мне это не нравится.Я не хочу добавлять один и тот же код в каждый проект.

Вопрос: Каков наилучший способ применить одно и то же поведение развертывания для каждого проекта без написания повторяющегося кода.

В настоящее время я использую build-event s и xcopy, чтобы скопировать их в папку DeploymentItems (я создаю это mkdir в build-event) каждой папки bin / Debug .После этого я добавляю [DeploymentItem("DeploymentItems")], который развертывает все файлы из этой папки.Это не выглядит хорошо, потому что у меня есть 3 идентичных пакета build-events для каждого .csproj.И если я добавлю новые данные .xml, мне нужно будет добавить новую инструкцию build-even t к каждой .csproj снова.Когда я использовал .testsettings, у меня не было этой проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...