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
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()
python -m unittest tests.test_sample Et exécutez avec le script unittest
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.
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.
Comment exécuter des tests collectivement avec le test unitaire Python
Recommended Posts