25.3. Unittest - Framework de test unitaire - Documentation Python 2.7.x
Certaines personnes ont déjà créé un modèle, je pense donc que vous devriez vous référer à ce qui suit. modèle de test unitaire python-Qiita
Voici un exemple de test de configuration minimale.
Exemple de test de configuration minimale
import unittest
class UnitTest(unittest.TestCase):
def test1(self):
self.assertEqual(1, 1)
if __name__ == '__main__':
unittest.main()
Exemple d'exécution
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
※point important Le test à exécuter doit commencer par «test» dans le nom de la méthode.
Method | Contenu de l'évaluation |
---|---|
assertEqual(a, b) | a == b |
assertNotEqual(a, b) | a != b |
assertTrue(x) | bool(x) is True |
assertFalse(x) | bool(x) is False |
assertIs(a, b) | a is b |
assertIsNot(a, b) | a is not b |
assertIsNone(x) | x is None |
assertIsNotNone(x) | x is not None |
assertIn(a, b) | a in b |
assertNotIn(a, b) | a not in b |
assertIsInstance(a, b) | isinstance(a, b) |
assertNotIsInstance(a, b) | not isinstance(a, b) |
Veuillez consulter ce qui suit pour plus de détails. Il y en a beaucoup d'autres. 25.3. Unittest - Framework de test unitaire - Documentation Python 2.7.x-
Exécuté lorsque tout le test est initialisé
def setUpModule():
pass
Exécuter à la fin de tout le test
def tearDownModule():
pass
Exécuter à l'initialisation de Testcase
class HogeTest(unittest.TestCase):
#...
@classmethod
def setUpClass(cls):
pass
Exécuter à la fin de TestCase
class HogeTest(unittest.TestCase):
#...
@classmethod
def tearDownClass(cls):
pass
Exécuter à l'initialisation de Testcase
class HogeTest(unittest.TestCase):
#...
def setUp(self):
pass
Exécuter à la fin de TestCase
class HogeTest(unittest.TestCase):
#...
def tearDown(self):
pass
Voici le journal lorsque le test suivant est exécuté.
Exemple de confirmation d'ordre d'exécution de chaque fonction (extrait)
def setUpModule():
print '## setUpModule!'
def tearDownModule():
print '## tearDownModule!'
print unittest.TestResult
class HogeTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
print '## setUpClass!'
pass
@classmethod
def tearDownClass(cls):
print '## tearDownClass!'
def setUp(self):
print '## setUp!'
def tearDown(self):
print '## tearDown!'
def test1(self):
expected = 1
actual = 1
self.assertEqual(expected, actual)
Résultat d'exécution
.....
----------------------------------------------------------------------
Ran 1 tests in 0.000s
OK
## setUpModule!
## setUpClass!
## setUp!
## tearDown!
## tearDownClass!
## tearDownModule!
Vous pouvez l'obtenir avec la classe TestResult
. Dans ʻunittest.main () `fréquemment utilisé, il est implémenté comme suit.
unittest.main()En entrant
def main()
#Par défaut sys.exit()Sera appelé, alors sortez=Spécifiez False
test_program = unittest.main(exit=False)
test_result = test_program.result
Veuillez vous référer à ce qui suit pour le contenu qui peut être obtenu par TestResult
.
25.3. Unittest - Framework de test unitaire - Documentation Python 2.7.x
python - How to know time spent on each test when using unittest? - Stack Overflow
modèle de test unitaire python-Qiita Bibliothèque: unittest --Life with Python python - Unittest causing sys.exit() - Stack Overflow Lors de l'écriture d'un test avec python unittest, utilisez doCleanups pour une configuration qui peut échouer --Qiita
Recommended Posts