Сборка tfs с использованием vstest.console.exe.config вместо app.config

Некоторое время у нас TFS2017 запускал наш модульный тест (xUnit) в процессе сборки. У каждого тестового проекта есть собственный файл app.config, в котором декларируются некоторые настройки appSettings.

Наш код смотрит на эти настройки приложения, например ConfigurationManager.AppSettings["someSetting"].

Недавно некоторые разработчики перешли с VS2015 на VS2017 (не уверены, связано ли это), наш тест начал давать сбой.

Оказывается, appSettings загружается с vstest.console.exe.config вместо файла app.config, включенного в тестовый проект.

Хотя мы можем добавить наши настройки в vstest.console.exe.config, это не наше предпочтительное решение, мы хотели бы снова провести тест с использованием файла app.config.

Есть идеи, как это сделать? Я понятия не имею, что изменилось в первую очередь.

0
0
166
1

Ответы 1

Убедитесь, что WorkingFolder не изменен. Он должен быть относительно папки, содержащей test.dll.

Кроме того, вы можете попробовать задачу <exec> в MSBuild, чтобы запустить средство запуска консоли.

При запуске нескольких сборок вы можете указать файл конфигурации для каждой сборки, используя метаданные ItemGroup. Задача <xunit> ищет метаданные с именем ConfigFile для каждого элемента в вашей группе элементов. Файлы конфигурации игнорируются, если для Домены приложений установлено значение ложный.

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