Я пытаюсь иметь взаимозаменяемые файлы конфигурации, и я использую py.test для отправки набора тестов в облако.Как добавить аргументы cli в py.test?
Следующие операции выполняются, когда я запускаю их локально, используя python main.py --site site1
в терминале.
Я пытаюсь понять, как я могу добавить аргументы CLI, так что он будет работать с py.test
У меня есть 3 файлов. основной, конфигурации и site1_config
main.py
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='CLI tests for an environment')
parser.add_argument('--site', nargs='?', help='the site to use for the config')
parser.add_argument('unittest_args', nargs='*')
#Get our property
args = parser.parse_args()
if args.site:
config.localizeConfig(args.site)
sys.argv[1:] = args.unittest_args
unittest.main(verbosity = 2)
config.py
def localizeConfig(site):
localizedConfig = __import__(site+'_config');
# localizedConfig = __import__(site);
#print dir(localizedConfig)
props = filter(lambda a: not a.startswith('__'), dir(localizedConfig))
#Iterate over each property and set it on the config
for prop in props:
if prop != 'os' and prop != 'sys' and prop != 'webdriver':
globals()[prop] = getattr(localizedConfig, prop)
host_url = www.google.com
site1_config.py
host_url = www.yahoo.com
Im пытаясь установить флаг так, что когда py.test -n6 --boxed main.py site1
, сайт1_config.py скопирует содержимое в конфигурацию. ру
Я не знаю, как я могу получить эту работу с py.test
использования: py.test [опции] [file_or_dir] [file_or_dir] [...] py.test: ошибка : непризнанные аргументы: