python, unittest: est-il un moyen de passer des options de ligne de commande pour l'application

J'ai un module qui importe unittest et a des cas de tests. Je voudrais
à accepter certaines options de ligne de commande (pour l'exemple ci-dessous, le nom d'un fichier de données),
mais quand j'essaie de passer l'option, je reçois le message "option -i n'est pas reconnu". Est-il possible d'avoir unittest + de fournir des options de l'application (note: je suis en utilisant optparse pour gérer les options)? Merci.

$ python test_app_data.py -i data_1.txt

option -i not recognized

=====================

de suivi: c'est une implémentation de la solution proposée:

import cfg_master  #has the optparse option-handling code

...

if __name__ == '__main__':    
    #add you app's options here...
    options_tpl = ('-i', '--in_dir', '-o', '--out_dir')
    del_lst = []
    for i,option in enumerate(sys.argv):
        if option in options_tpl:
            del_lst.append(i)
            del_lst.append(i+1)

    del_lst.reverse()
    for i in del_lst:
        del sys.argv[i]

    unittest.main()
  • En général, oui. Dans ce cas, la réponse semble dépendre beaucoup sur des détails qui ne vous ont pas donné.
  • Votre "suivi" doit être enregistrée comme une réponse à votre question ne devrait contenir que le ... bien ... question.
InformationsquelleAutor jd. | 2009-06-22