как я могу передать аргумент(ы) через нос.запуск, который может быть подобран по списку тестовых файлов python, содержащих методы тестирования


Я создаю серию тестов с python unittest и выполняю их с модулем nosetest.

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

У меня есть скрипт runner python, который передает файл класса Test suite и среду в качестве аргументов

python runner.py --suite=generic_pass.py --env=dev.domain.com

Runner.py берет значение suite и передает его в test_suite в носу.запустить способ в "runner.py"

Содержание runner.py

nose.run(argv=["", test_suite, "--verbosity=2"])

Содержание test_suite или "generic_pass.py" сценарий выглядит следующим образом

class loginTest(login.userLoginTest):
     pass
class logoutTest(logout.userLogoutTest):
     pass

Содержание login.py

class userLoginTest(unittest.TestCase):
     def setUp(self):
         self.login = userLogin(user,pass,environment)
     def test_response(self):
         self.assertEquals(200, getResponse(self.login))

Когда python runner.py скрипт выполняется, затем он запускает нос.выполнить, который затем выполняет тесты, указанные в generic_pass.py (test_suite)

Я пытаюсь понять, как я могу передать содержание ...env "dev.domain.com-от кого? runner.py к каждому тестовому случаю классный файл хоть носом.метод run (), так что что я мог бы использовать его в

self.login = userLogin(user,pass,environment)

Который находится в login.py

1 2

1 ответ:

Единственный способ, который я нашел, как это сделать, это использовать:

os.environ[]
Другими словами, Я бы заявил об этом прямо перед тем, как использовать нос.run ()
os.environ['env']='dev.domain.com'
nose.run(argv=["", test_suite, "--verbosity=2"])

И затем я могу получить содержимое в тестовом случае

     self.login = userLogin(user,pass,os.environ['env'])
Если у кого-то есть лучшее решение, Пожалуйста, дайте мне знать.