Возможно ли передать значения в тесты NUnit через командную строку? В моих тестах используется определенный URL-адрес. У меня разные экземпляры моего кода на разных URL-адресах и вы хотите указать URL-адрес через командную строку. App.config не является вариантом, потому что я хочу запускать тесты для разных URL-адресов с помощью пакетного файла.
Передача параметров через командную строку в NUnit
Ответ 1
На данный момент, похоже, нет решения. Лучшим вариантом является использование файлов проекта NUnit, изменение настроек там и передача файла решения в бегун.
Ответ 2
Переменная среды.
Используйте set
из командной строки или <setenv>
из nant. Затем прочитайте значение с помощью Environment.GetEnvironmentVariable()
.
Ответ 3
У меня была аналогичная проблема, ответ Ахима поставил меня на правильный путь, для других читателей
Создайте файл, например example.nunit:
<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