Возможно ли передать значения в тесты NUnit через командную строку? В моих тестах используется определенный URL-адрес. У меня разные экземпляры моего кода на разных URL-адресах и вы хотите указать URL-адрес через командную строку. App.config не является вариантом, потому что я хочу запускать тесты для разных URL-адресов с помощью пакетного файла.Передача параметров через командную строку в NUnit
ответ
В настоящий момент, похоже, нет решения. Лучшим вариантом является использование файлов проекта NUnit, изменение настроек там и передача файла решения в бегун.
Окружающая среда.
Используйте set
из командной строки или <setenv>
от nant. Затем прочитайте значение, используя Environment.GetEnvironmentVariable()
.
Я аналогичный вопрос, ответ на Ахим поставил меня на правильный путь, для других читателей
Создайте файл как 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.
Следующая когда вы WANNE запустить его для определенной конфигурации вы выполняете его как этот
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
@Achim Пробовал выполнить вышеуказанный метод, добавив конфиги в nunit-файл, но выдает сообщение об ошибке - Не удалось найти Fixture. \ nunit-console-x86.exe $ env_config/config: CI/run: $ feature $ dll_dir/result = $ result_dir – ReuseAutomator
@Marteen Kieft Можете ли вы мне помочь с вышеуказанной проблемой, с которой я столкнулся – ReuseAutomator
@ReuseAutomator: Кажется, что-то это внутри вашего проекта и ничего особенного для этой настройки конфигурации. Фактически вы можете без этой настройки конфигурации запускать тесты, выполнив: nunit3-console.exe mytest.dll Вы, вероятно, получите ту же ошибку, поэтому вы можете проверить: Имеет ли ваш тестовый класс атрибут testfixture на нем Начните свой класс с Public (так что public mytestclass {..} вместо класса (без публики). Если вы все еще сталкиваетесь с этим, создайте здесь вопрос и укажите мне :) –
Вы пытались использовать Environment.GetCommandLineArgs? Это работало? http://msdn.microsoft.com/en-us/library/system.environment.getcommandlineargs.aspx – Paddyslacker