Je suis en train d'élaborer un module Python avec plusieurs fichiers sources, chacune avec sa propre classe dérivée de unittest droit dans la source. Examiner la structure de répertoire:
dirFoo\
test.py
dirBar\
__init__.py
Foo.py
Bar.py
De tester soit Foo.py ou Bar.py je voudrais ajouter ceci à la fin de la Foo.py et Bar.py source des fichiers:
if __name__ == "__main__":
unittest.main()
Et de lancer Python sur que ce soit la source, c'est à dire
$ python Foo.py
...........
----------------------------------------------------------------------
Ran 11 tests in 2.314s
OK
Idéalement, j'aurais "test.py" automagiquement de recherche dirBar pour tout unittest classes dérivées et faire un appel à "unittest.main()". Quelle est la meilleure façon de le faire dans la pratique?
J'ai essayé d'utiliser Python pour appeler execfile pour tous *.py fichier dans dirBar, qui ne fonctionne que pour la première .py fichier trouvé & sort de l'appelant test.py, plus, puis-je dupliquer mon code en ajoutant unittest.main() dans chaque fichier source--qui viole SEC principes.