2017-08-24 3 views
0

I utilisés pour exécuter des tests avec une commande commeExécuter des tests à partir du code avec arg

pytest.main('-s path_to_file --my_fixtures_arg1 arg_value') 

À l'heure actuelle, un tel appel est considéré comme obsolète, et vous avez besoin d'appeler cette commande par le biais d'une liste d'arguments. Mais je ne peux pas passer les paramètres nécessaires en aucune façon. Qui connaît la solution?

Répondre

1

J'utilise actuellement la liste des arguments depuis la chaîne passant a été dépréciée. Dans votre cas, je pense que celui-ci devrait fonctionner:

arguments = ['-s', '--my_fixtures_arg1=arg_value', 'path_to_file'] 
pytest.main(args=arguments) 
0

Actuellement, pytestusesshlex.split pour diviser une chaîne en une liste d'arguments.

Vous pouvez faire la même chose si votre chaîne provient de DB, le fichier de configuration ou tel:

import shlex, sys 
args_list = shlex.split(args_string, posix=sys.platform != "win32")