Exécutez unittest en Python (pour les débutants)

introduction

Lorsque j'ai utilisé Python pour la première fois, j'ai eu du mal avant d'utiliser unittest, c'est donc un article pour une utilisation fluide. De plus, il est difficile de commencer à l'utiliser à moins de comprendre les bases de Python, alors je l'ai résumé.

La structure de répertoires qui peut être exécutée avec succès est la suivante.

.
├─sample.py
└─tests
  ├─__init__.py
  └─test_sample.py

Source de l'échantillon

sample.py


def add(x, y):
    return x + y

test_sample.py


import unittest
import sample

class TestSample(unittest.TestCase):
    def test_add(self):
        self.assertEqual(sample.add(1, 2), 3)

if __name__ == "__main__":
    unittest.main()

Comment exécuter le test

python -m unittest tests.test_sample Et exécutez avec le script unittest

Ce que j'ai appris

Je peux bien exécuter le test avec la méthode ci-dessus, mais j'ai appris les points suivants.

__init__.Qu'est-ce que py? J'ai pensé, mais le répertoire où se trouve ce fichier semble être traité comme un package python. Par conséquent échantillon.Avec la commande execute du répertoire où se trouve py, "teste.test_"tests" de "échantillon".Il semble que vous puissiez spécifier le package et l'exécuter.



 * En Python 2.7, c'est nécessaire car il n'est pas reconnu comme un package sans `` `` __init __. Py```, mais ce n'est pas nécessaire car il est reconnu comme un package même s'il ne s'agit pas de Python 3.5.

 De plus, j'importe avec test_sample.py, et il existe différents chemins de recherche d'importation, mais le chemin d'exécution en fait partie. Il semble que vous puissiez importer avec "import sample" en exécutant à partir du répertoire où se trouve sample.py.

## Expérience
 Nous menons les expériences suivantes pour réaliser ce que nous avons appris.

python tests\test_sample.py
 Essayez de l'exécuter avec.

``` error
Traceback (most recent call last):
  File "tests\test_sample.py", line 2, in <module>
    import sample
ImportError: No module named sample

Erreur indiquant que le module d'exemple est introuvable. Le chemin d'exécution semble être dans la direction des tests, et il semble que l'échantillon dans la hiérarchie immédiatement supérieure ne puisse pas être trouvé.

Cependant, placez test_sample.py dans la même hiérarchie que le répertoire sample.py, python test_sample.py Fonctionnera correctement. python -m unittest test_sample Cela fonctionne correctement ici aussi.

Restaurez la structure des répertoires puis supprimez le fichier __init __. Py``` python -m unittest tests.test_sample Quand tu cours ImportError: No module named tests Erreur. Il ne semble pas être reconnu comme un package.

Enfin, allez dans le répertoire des tests et python test_sample.py Quand tu cours ImportError: No module named sample Erreur. python -m unittest test_sample Mais la même erreur. En d'autres termes, il ne peut pas être importé car il n'y a pas d'échantillon dans le répertoire d'exécution.

Impressions

J'ai juste essayé d'utiliser unittest avec python, mais j'ai beaucoup appris sur la façon de spécifier des packages et sur la façon de penser aux répertoires qui peuvent être importés. J'ai beaucoup appris parce que je ne pouvais pas le faire facilement. Avec cela, je pense que la future programmation python peut se dérouler sans heurts.

Je veux le lire ensemble

Comment exécuter des tests collectivement avec le test unitaire Python

Recommended Posts

Exécutez unittest en Python (pour les débutants)
Exécuter Python unittest en parallèle
Manuel python pour les débutants
OpenCV pour les débutants en Python
[Introduction pour les débutants] Manipuler MySQL avec Python
Histoire de base de l'héritage en Python (pour les débutants)
Flux d'apprentissage pour les débutants en Python
Exécuter des tâches automatisées en Python
Exécuter des commandes shell en Python
Techniques de tri en Python
Python #function 2 pour les super débutants
Grammaire de base Python pour les débutants
Pandas 100 coups pour les débutants en Python
Python #function 1 pour les super débutants
~ Conseils pour les débutants de Python présentés avec amour par Pythonista ③ ~
À propos de "for _ in range ():" de python
Janken Poi en Python pour les débutants (réponses et explications)
Comment exécuter python dans l'espace virtuel (pour MacOS)
[Pour les débutants] Apprenez la grammaire de base Python gratuitement en 5 heures!
Rechercher les fuites de mémoire dans Python
Rechercher des commandes externes avec python
Exercices Python pour les débutants # 2 [pour instruction / instruction while]
Lançons "python -m antigravity" en python
Exécutez la commande shell / Python dans R
Python pour les super débutants Super débutants Python # dictionnaire type 1
[Pour les débutants] Résumé de l'entrée standard en Python (avec explication)
Python #index pour les super débutants, tranches
<Pour les débutants> bibliothèque python <Pour l'apprentissage automatique>
Fonction Python #len pour les super débutants
Web scraping pour les débutants en Python (1)
Exécutez un algorithme simple en Python
Web scraping pour les débutants en Python (4) -1
Python #Hello World pour les super débutants
Python pour les super débutants Super débutants Python # dictionnaire type 2
INSÉRER dans MySQL avec Python [Pour les débutants]
[Python] Compte-rendu de la réunion d'étude pour les débutants (7/15)
Note de nfc.ContactlessFrontend () de nfcpy de python
Inject est recommandé pour DDD en Python
Conseils pour gérer les binaires en Python
Résumé de diverses instructions for en Python
Tapez les annotations pour Python2 dans les fichiers stub!
Exécutez AzureKinect en Python la veille de Noël.
Exécuter l'interpréteur Python dans le script
Modèle pour l'écriture de scripts batch en python
Traiter plusieurs listes avec for en Python
MongoDB avec Python pour la première fois
Obtenez un jeton pour conoha avec python
Exemple de gestion des fichiers eml en Python
Fiche de triche AtCoder en python (pour moi-même)
[Python] Lire des images avec OpenCV (pour les débutants)
J'ai cherché un nombre premier avec python
Remarques sur l'utilisation de python (pydev) avec eclipse
Création WebApi avec Python (création CRUD) Pour les débutants
Conseils pour créer de petits outils avec python
Utilisez pathlib dans Maya (Python2.7) en préparation du prochain Python3.7
Exécuter régulièrement des tâches de type cron en Python
Ensemble d'entrées standard Atcoder pour les débutants (python)
Exécutez Python en C ++ sur Visual Studio 2017
[Pour les débutants] Essayez le web scraping avec Python