Я хочу перегрузить failUnlessEqual в unittest.TestCase, поэтому я создал новый класс 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)
И я использую это как:
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')
Это то, что я получаю, когда запускаю тесты
>>> 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)
Я ожидал, что сообщение будет «Проверка значения x Ожидается: 2 - Получено: 1»
Класс MyTestCase вообще не используется.
Можете ли вы сказать мне, что я делаю не так?