La structure de répertoire très courante, même pour un simple module Python, semble être de séparer les tests unitaires dans leur propre test
répertoire:
new_project/
antigravity/
antigravity.py
test/
test_antigravity.py
setup.py
etc.
par exemple, consultez le guide du projet Python .
Ma question est simplement quelle est la manière habituelle d'exécuter les tests? Je soupçonne que cela est évident pour tout le monde sauf moi, mais vous ne pouvez pas simplement exécuter à python test_antigravity.py
partir du répertoire de test car son import antigravity
échouera car le module n'est pas sur le chemin.
Je sais que je pourrais modifier PYTHONPATH et d'autres astuces liées au chemin de recherche, mais je ne peux pas croire que ce soit le moyen le plus simple - c'est bien si vous êtes le développeur, mais pas réaliste de s'attendre à ce que vos utilisateurs l'utilisent s'ils veulent simplement vérifier que les tests sont qui passe.
L'autre alternative consiste simplement à copier le fichier de test dans l'autre répertoire, mais cela semble un peu stupide et manque le point de les avoir dans un répertoire séparé pour commencer.
Donc, si vous veniez de télécharger la source sur mon nouveau projet, comment exécuteriez-vous les tests unitaires? Je préférerais une réponse qui me permettrait de dire à mes utilisateurs: "Pour exécuter les tests unitaires, faites X."
unittest
interface de ligne de commande comme décrit dans ma réponse ci-dessous afin que vous n'ayez pas à ajouter le répertoire au chemin.