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
Libérer: 2024-12-04 03:08:10
original
430 Les gens l'ont consulté

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
Copier après la connexion

Exécutez simplement :

$ python -m unittest test_antigravity
Copier après la connexion

Pour une Structure Comme :

new_project
  ├── antigravity
  │   └── antigravity.py
  └── test
    ├── test_antigravity.py
Copier après la connexion

Vous pouvez exécuter un seul module de test :

$ python -m unittest test.test_antigravity
Copier après la connexion

Exécuter un seul test :

$ python -m unittest test.test_antigravity.GravityTestCase
Copier après la connexion

Exécuter une seule méthode de test :

$ python -m unittest test.test_antigravity.GravityTestCase.test_method
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal