Использование файла runsettings при запуске тестов NUnit из командной строки

Я создал файл runsettings, который выглядит следующим образом

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <TestRunParameters>
    <Parameter name ="environment" value="PROD" />
  </TestRunParameters>
</RunSettings>

И затем в моей части TestSetup (используя LeanFT для тестов пользовательского интерфейса) я указываю, что целевая среда содержится в параметре, называемом окружением

string env= TestContext.Parameters["environment"];

Кажется, это не работает, и я не получаю никаких сообщений об ошибках. Это правильный способ сделать это, или есть более простой способ просто использовать Среду и что-то, что я передаю в командную строку.

2 ответа

Решение

Вы должны быть более конкретны, чем "через командную строку", так как есть несколько способов, которыми люди запускают тесты NUnit из командной строки.

Если вы используете nunit3-console.exe Runner, вы передаете параметры запуска в структуру, используя --params вариант, например:

nunit3-console my.test.dll --params "environment=PROD"

.runsettings Файл - это артефакт, используемый Visual Studio и распознаваемый адаптером NUnit VS, но не самим NUnit.

Вы также можете использовать это из командной строки, используя vstest.console.exe, Если это то, что вы используете, вы хотите /Settings вариант для того, чтобы указать файл.

Два ответа по цене одного! Но если вы не используете ни nunit-console ни vstest.console вам придется спросить снова.;-)

В рамках теста вы могли бы использовать следующее, чтобы написать все ваши настройки

   foreach (var name in TestContext.Parameters.Names)
   {
       Console.WriteLine("Parameter: {0} = {1}", name, TestContext.Parameters.Get(name))
   }
Другие вопросы по тегам