unittest2
#
unittest2 ist ein Backport von unittest, mit verbesserter API und besseren Assertions als in früheren Python-Versionen.
Installation#
$ bin/python -m pip install unittest2
Beispiel#
Wir wollen die folgende add
-Methode testen:
[1]:
def add(a, b):
return a + b
Dann importieren wir das Modul unter dem Namen unittest
um die Portierung von Code auf neuere Versionen des Moduls in Zukunft zu vereinfachen:
[2]:
import unittest2 as unittest
class TestNotebook(unittest.TestCase):
def test_add(self):
self.assertEqual(add(2, 2), 5)
unittest.main(argv=[''], verbosity=2, exit=False)
test_add (__main__.TestNotebook) ... FAIL
======================================================================
FAIL: test_add (__main__.TestNotebook)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/var/folders/f8/0034db6d78s5r6m34fxhpk7m0000gp/T/ipykernel_69328/3137592767.py", line 6, in test_add
AssertionError: 4 != 5
----------------------------------------------------------------------
Ran 1 test in 0.002s
FAILED (failures=1)
[2]:
<unittest2.main.TestProgram at 0x7f957c80a8e0>
Auf diese Weise könnt ihr, wenn ihr zu einer neueren Python-Version wechselt und das Modul unittest2
nicht mehr benötigt, einfach den Import in eurem Testmodul ändern, ohne dass ihr weiteren Code ändern müsst.