Quelqu'un qui peut faire une petite opération sur un écran noir La spécification peut être n'importe quoi tant que Python fonctionne
Test de l'unité(Test de l'unité)Quel est|Types de validation logicielle|Techmatrix Co., Ltd.
Il s'agit de tester si un programme fonctionne correctement avec la plus petite granularité qui constitue le programme, comme les méthodes du programme. Dans l'industrie informatique, cela s'appelle également un test unitaire.
Il existe des bibliothèques qui effectuent des tests unitaires dans chaque langue. Ci-dessous un exemple
En passant, dans Ruby etc., Minitest et Rspec sont le mécanisme du test unitaire.
Pour exécuter UnitTest en Python, écrivez un fichier Py pour écrire le code de test.
Veuillez vous référer à la documentation officielle japonaise pour rédiger des tests détaillés.
unittest - Framework de test unitaire - Documentation Python 3.8.6
Créez les fichiers suivants en utilisant VSCode, etc.
Dans ce cas, un scénario de test qui échoue intentionnellement est décrit.
sample.py
import unittest
class TestStringMethods(unittest.TestCase):
def test_false(self):
self.assertFalse("hoge", "hoge")
if __name__ == '__main__':
unittest.main()
Ensuite, essayez d'exécuter le programme sur la console.
Lors de l'exécution sur la CLI, vous pouvez exécuter UnitTest avec la commande suivante.
python3 -m unittest sample.py
======================================================================
FAIL: test_false (test.sample.TestStringMethods)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/pcuser/Documents/GitHub/pysecret/test/sample.py", line 6, in test_false
self.assertFalse("hoge", "hoge")
AssertionError: 'hoge' is not false : hoge
----------------------------------------------------------------------
Ran 1 test in 0.001s
FAILED (failures=1)
Si FAILD s'affiche et que cela échoue comme ça, c'est OK Si ERROR s'affiche, il peut s'agir d'un problème grammatical en Python, veuillez donc le rechercher sur Google.
Certaines des erreurs les plus courantes en Python sont: [Insérer un message d'erreur de référence]
Après cela, je vais décrire le cas de test.
Afin de rendre le test aussi pratique que possible, créez un programme à tester.
hello.py
def helloMethod(str):
msg = str
return msg
if __name__ == '__main__':
main()
Après cela, ajoutons ʻinport hello` à test.py pour que helloMethod puisse être appelé.
import unittest
import hello <-Comme ça
Cette fois, j'ai créé une méthode pour renvoyer un simple perroquet. Ce que vous passez en entrée est la variable str de la chaîne que vous passez comme argument de la méthode. Et la valeur attendue est que str sera renvoyé en sortie lorsque la méthode est exécutée.
import unittest
import hello
class TestStringMethods(unittest.TestCase):
# def test_false(self):
# self.assertFalse("hoge", "hoge")
def test_hello(self):
input_str = "Hello"
msg = hello.helloMethod(input_str)
self.assertEqual(msg, input_str)
if __name__ == '__main__':
unittest.main()
Pour vérifier que le résultat est correct, utilisez la méthode Assert avec la valeur stockée dans la variable msg. Assurez-vous que les valeurs de input_str sont identiques.
Pour écrire, puisque la méthode Assert de la classe UnitTest est utilisée, utilisez self.assertEqual
.
Puisqu'il était déjà écrit sur la source, exécutez à nouveau la même commande qui a confirmé le démarrage d'UnitTest lui-même.
python3 -m unittest sample.py
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
Si vous voyez le mot OK sur la console, le test est réussi.
Recommended Posts