Maison >développement back-end >Tutoriel Python >Comment puis-je exécuter efficacement des tests unitaires à partir d'un répertoire standard « test » en Python ?

Comment puis-je exécuter efficacement des tests unitaires à partir d'un répertoire standard « test » en Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-04 03:08:10423parcourir

How Can I Effectively Run Unit Tests from a Standard

Exécuter des tests unitaires avec une structure de répertoires de tests standard

De nombreux projets Python adoptent une structure de répertoires typique dans laquelle les tests unitaires sont conservés dans un " "test". Cela soulève la question : comment exécuter ces tests efficacement ?

Le problème et le problème

L'exécution directe de test_antigravity.py à partir du répertoire "test" échouera car le Le module antigravité n'est pas sur le chemin du système. La modification de PYTHONPATH et d'astuces similaires liées au chemin n'est peut-être pas une solution optimale. Copier-coller le fichier de test dans un autre répertoire semble inefficace.

La solution : utiliser l'interface de ligne de commande unittest

L'approche la plus recommandée consiste à utiliser la commande unittest interface de ligne. Il ajoute automatiquement le répertoire actuel au sys.path, permettant une importation transparente du module testé.

Pour une structure comme :

new_project
  └── test_antigravity.py

Exécutez simplement :

$ python -m unittest test_antigravity

Pour une Structure Comme :

new_project
  ├── antigravity
  │   └── antigravity.py
  └── test
    ├── test_antigravity.py

Vous pouvez exécuter un seul module de test :

$ python -m unittest test.test_antigravity

Exécuter un seul test :

$ python -m unittest test.test_antigravity.GravityTestCase

Exécuter une seule méthode de test :

$ python -m unittest test.test_antigravity.GravityTestCase.test_method

Exécuter tous les tests :

$ python -m unittest discover
$ # Also works without discover for Python 3
$ # as suggested by Burrito in the comments
$ python -m unittest

Cette approche est pratique pour aux utilisateurs d'exécuter des tests unitaires en suivant simplement l'instruction : "Pour exécuter les tests unitaires, faites X."

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn