Je veux surcharger failUnlessEqual en unittest.TestCase donc je créé une nouvelle classe de TestCase:Surcharger failUnlessEqual dans unittest.TestCase
import unittest
class MyTestCase(unittest.TestCase):
def failUnlessEqual(self, first, second, msg=None):
if msg:
msg += ' Expected: %r - Received %r' % (first, second)
unittest.TestCase.failUnlessEqual(self, first, second, msg)
Et je l'utilise comme:
class test_MyTest(MyTestCase):
def testi(self):
i = 1
self.assertEqual(i, 2, 'Checking value of i')
def testx(self):
x = 1
self.assertEqual(x, 2, 'Checking value of i')
C'est ce que Je reçois quand je lance les tests
>>> unittest.main()
FF
======================================================================
FAIL: testi (__main__.test_MyTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "<stdin>", line 4, in testi
AssertionError: Checking value of i
======================================================================
FAIL: testx (__main__.test_MyTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "<stdin>", line 7, in testx
AssertionError: Checking value of x
----------------------------------------------------------------------
Ran 2 tests in 0.000s
FAILED (failures=2)
Je m'attendais à ce que le message serait 'Vérification de la valeur de x Expecting: 2 - Reçu: 1 '
La classe MyTestCase n'est pas utilisée du tout. Pouvez-vous me dire ce que je fais mal?
Bien sûr. Merci. –