2016-08-15 3 views
2

У меня есть набор тестов C#/Selenium/Specflow, который я запускаю с помощью Jenkins с помощью xunit.console.exe. Мне нужно указать эти тесты в разных средах (Test/QA/Prod и т. Д.) И хотел бы использовать параметр командной строки.Как указать пользовательские параметры, используя xunit.runner.console

Пакетный команда, которую я зову это: "%WORKSPACE%\packages\xunit.runner.console.2.1.0\tools\xunit.console""%WORKSPACE%\[MyProject]\bin\Debug\eDC6.Test.Specs.dll" -xml test_output.xml

и хотели бы включить дополнительный параметр, как: «-env = PROD» отметить, что работа в конкретной среде.

Я открыт для лучших способов сделать это.

ответ

1

IIRC Я спросил и сам ответил на этот вопрос как запрос функции на форумах xunit в эпоху codeplex, до 2010 года, но не могу найти его atm (возможно, я спрашивал в контексте тестового бегуна CodeRush). В любом случае, вышеизложенное было ответом в то время, и это все еще имеет смысл, так как это тест-бегун и инструмент CI нейтральны.

Это обычно адресуется переменными окружения, то есть использует GetEnvironmentVariable.

Следует учитывать, что людям, которые хотят использовать бегуны, такие как Visual Studio, затем необходимо соответствующим образом отрегулировать. У .NET Core есть внутренняя поддержка наличия такого селектора среды, который также может быть полезным подходом, поскольку он, вероятно, будет отображаться в редакторах и других инструментах с течением времени.

Наконец, самый низкий уровень взлома может заключаться в том, чтобы вставлять его в настройки .config, т. Е. <DllName>.dll.config и выполнять необходимые для его прохождения.

1

Для этого решения дополнительной командной строки дает мне больше гибкости:

"% WORKSPACE% \ Packages \ xunit.runner.console.2.1.0 \ Tools \ xunit.console" «% WORKSPACE% [MyProject ] \ bin \ Debug \ eDC6.Test.Specs.dll "-TargEnv QAConfig.json - xml test_output.xml

Смежные вопросы