2017-08-12 1 views
1

Je prends la valeur de setup à partir de l'argument de la ligne de commande lors de l'exécution du test avec le framework py.test.Comment accéder à l'argument de ligne de commande config.option dans un script de test avec py.test framework

group.addoption("--setup", "--sC=", action="store", dest="setup", help="setup.") 
def pytest_configure(config): 
    print "config.option.setup: ", config.option.setup 

Ici, je suis en mesure d'obtenir le nom du fichier de configuration avec config.option.setup, mais le même nom de fichier que je passe ici, je veux chercher dans mon script de test.

Si je mets la même ligne dans mon script de test, je reçois ci-dessous erreur:

>  print "config.option.setup_config: ", config.option.setup_config 
E  NameError: global name 'config' is not defined 

Quelqu'un peut-il s'il vous plaît me faire savoir comment puis-je accéder config.option.setup dans mon script de test?

Répondre

1

pytest_configure doit être dans le fichier conftest.py. Voir example:

option = None 

def pytest_addoption(parser): 
    parser.addoption("--setup", "--sC=", action="store", dest="setup", help="setup.") 

def pytest_configure(config): 
    global option 
    option = config.option 
    print "config.option.setup: ", config.option.setup 
+0

J'ai mis à jour la réponse. Enregistrer global 'option' et l'importer dans le script de test:' à partir de l'option d'importation conftest'. – phd