Мы используем xUnit для запуска тестов с помощью задачи Visual Studio Test после задачи Visual Studio Build. Решение создано на. NET Fw 4.6.2 и использует xUnit версии 2.4.1.
Существует какая-то ошибка, из-за которой при выполнении теста все тесты становятся ЗЕЛЕНЫМИ, но при этом задача Сбой.
В качестве решения / обходного пути для Visual Studio Test можно указать свойство Путь к пользовательским тестовым адаптерам , нацеленное непосредственно на Пакеты / xunit.runner.visualstudio.2.4.1 / build / _common , в котором находятся тестовые библиотеки Framework.
Пока все хорошо - использование этого обходного пути дает путь к go.
В качестве улучшения я написал сценарий PS , который запускается перед задачей «Тест», и задаю переменную, которую я также использую в задаче «Тест Visual Studio» - Путь к настраиваемым тестовым адаптерам. Сценарий собирается установить мою пользовательскую переменную "XunitRunnerFolder" на программно выбранный путь.
Проблема в том, что переменная правильно установлена в сценарии PS (и подтверждена чтением дополнительного сценария, который я добавил в между PS и тестовой задачей), тестовая задача по-прежнему показывает начальное значение «XunitRunnerFolder» вместо чтения текущего / измененного.
Резюме:
- начальное значение XunitRunnerFolder имеет значение «auto» (определено для входных переменных группы задач)
- Сценарий PS изменяет переменную XunitRunnerFolder на Packages / xunit.runner.visualstudio.2.4.1 / build / _common, используя
##vso[task.setvariable variable=XunitRunnerFolder;]xxx/Packages/xunit.runner.visualstudio.2.4.1/build/_common
- дополнительный скрипт, который читает
$Env:XunitRunnerFolder
, подтверждает, что его значение установлено в значение (2.) - Задача Visual Studio Test установлена в его свойстве Путь к пользовательским тестовым адаптерам переменная
$(XunitRunnerFolder)
, но в своем журнале выписывается, что значение является начальным (" auto ")
есть Пожалуйста, способ решить эту проблему, приводящий к правильному использованию вновь установленного значения в тестовом задании? Поиск в Google в течение 2 дней не помог, возможно, из-за того, что он не является носителем английского языка, чтобы правильно задать вопрос.