Maison > développement back-end > Tutoriel Python > Comment exécuter efficacement des tests unitaires en Python avec une structure de répertoires standard ?

Comment exécuter efficacement des tests unitaires en Python avec une structure de répertoires standard ?

Mary-Kate Olsen
Libérer: 2024-11-26 06:40:11
original
408 Les gens l'ont consulté

How to Effectively Run Unit Tests in Python with a Standard Directory Structure?

Exécuter des tests unitaires avec une structure de répertoire typique

La structure de module commune de Python implique souvent de séparer les tests unitaires dans un répertoire de test dédié, comme indiqué ci-dessous :

new_project/
    antigravity/
        antigravity.py
    test/
        test_antigravity.py
    setup.py
    etc.
Copier après la connexion

L'exécution de ces tests nécessite plus que la simple exécution de python test_antigravity.py à partir du répertoire de test. Étant donné que l'antigravité n'est pas sur le chemin d'importation, cette approche échouera.

Au lieu de cela, le moyen le plus simple d'exécuter les tests consiste à utiliser l'interface de ligne de commande unittest. Cet utilitaire ajoutera automatiquement le répertoire à sys.path, rendant les modules accessibles pour l'importation.

Pour une structure de répertoires telle que :

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

Exécutez les tests comme suit :

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

Pour une structure comme la vôtre, avec des packages dans les répertoires antigravity et test, vous pouvez importer des modules dans antigravity comme d'habitude dans test modules :

# import the package
import antigravity

# import the antigravity module
from antigravity import antigravity

# or an object inside the antigravity module
from antigravity.antigravity import my_object
Copier après la connexion

Exécuter des tests spécifiques :

Pour exécuter un module de test spécifique (par exemple, test_antigravity.py) :

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

Vous pouvez également exécuter un seul scénario ou méthode de test :

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

Tout exécuter Tests :

Utilisez la découverte de tests pour découvrir et exécuter automatiquement tous les tests :

$ cd new_project
$ python -m unittest discover
Copier après la connexion

Cela exécutera tous les modules test*.py du package de test. Pour plus d'informations, reportez-vous à la documentation officielle sur la découverte.

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