как я могу передать аргумент(ы) через нос.запуск, который может быть подобран по списку тестовых файлов 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 ответ:
Единственный способ, который я нашел, как это сделать, это использовать:
Другими словами, Я бы заявил об этом прямо перед тем, как использовать нос.run ()os.environ[]
os.environ['env']='dev.domain.com' nose.run(argv=["", test_suite, "--verbosity=2"])
И затем я могу получить содержимое в тестовом случае
Если у кого-то есть лучшее решение, Пожалуйста, дайте мне знать.self.login = userLogin(user,pass,os.environ['env'])