Передайте параметры через командную строку в NUNIT
-
02-10-2019 - |
Вопрос
Можно ли каким -то образом перенести значения в тесты NUNIT через командную строку? Мои тесты используют определенный URL. У меня разные случаи моего кода на разных URL -адресах, и я хотел бы указать URL -адрес с помощью командной строки. App.config не является вариантом, потому что я хочу запустить тесты для разных URL -адресов через пакетный файл.
Решение 2
Кажется, в данный момент нет решения. Лучший вариант - использовать файлы проекта NUNIT, изменить настройки там и передать файл решения Runner.
Другие советы
Переменная среды.
Использовать set
из командной линии или <setenv>
от Нанта. Затем прочитайте значение, используя Environment.GetEnvironmentVariable()
.
У меня была аналогичная проблема, ответ Ахима поставил меня на правильный путь, для других читателей
Создайте файл как пример.
<NUnitProject>
<Settings activeconfig="local"/>
<Config name="local" configfile="App.config">
<assembly path="bin\Debug\example.dll"/>
</Config>
<Config name="dev" configfile="App.Dev.config">
<assembly path="bin\Debug\\example.dll"/>
</Config>
<Config name="test" configfile="App.Test.config">
<assembly path="bin\Debug\\example.dll"/>
</Config>
</NUnitProject>
Все файлы / пути (из файлов конфигурации и сборки) относительно местоположения файла NUNIT. Также App.config, app.dev.config и т. Д. - просто файлы конфигурации .NET.
Далее, когда вы запустите его для определенной конфигурации, вы выполняете его так
nunit3-console.exe example.nunit /config:test
Больше информации о формате файла NUNIT https://github.com/nunit/docs/wiki/nunit-project-xml-format
Больше информации о аргументах командной строкиhttp://www.nunit.org/index.php?p=consolecommandline&r=2.2.5
NUnit3
Теперь позволяет проходить параметры. Вот использование
nunit3-console [inputfiles] --params:Key=Value
От документация
-Params | P = параметр
Параметр теста, указанный в названии формы = значение для потребления с помощью тестов. Можно указать несколько параметров, разделенных с помощью полуколонов или повторяя опцию -params несколько раз. С учетом регистра.
Вот как вы можете получить доступ к параметру через код:
var value= TestContext.Parameters.Get("Key", "DefaultValue");