unittest
утверждают, дает дополнительную информацию (возможно, более тебе нужно). Вдохновленный Рейндом Хеттингером talk. Это частичный ответ, дающий только значения a
и b
(последняя строка вывода), а не дополнительная интроспекция, которую вы также ищете, которая уникальна в pytest
.
import unittest
class EqualTest(unittest.TestCase):
def testEqual(self, a, b):
self.assertEqual(a, b)
a, b = 1, 2
assert_ = EqualTest().testEqual
assert_(a, b)
Выход
---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
<ipython-input-4-851ce0f1f668> in <module>()
9 a, b = 1, 2
10 assert_ = EqualTest().testEqual
---> 11 assert_(a, b)
<ipython-input-4-851ce0f1f668> in testEqual(self, a, b)
4
5 def testEqual(self, a, b):
----> 6 self.assertEqual(a, b)
7
8
C:\Anaconda3\lib\unittest\case.py in assertEqual(self, first, second, msg)
818 """
819 assertion_func = self._getAssertEqualityFunc(first, second)
--> 820 assertion_func(first, second, msg=msg)
821
822 def assertNotEqual(self, first, second, msg=None):
C:\Anaconda3\lib\unittest\case.py in _baseAssertEqual(self, first, second, msg)
811 standardMsg = '%s != %s' % _common_shorten_repr(first, second)
812 msg = self._formatMessage(msg, standardMsg)
--> 813 raise self.failureException(msg)
814
815 def assertEqual(self, first, second, msg=None):
AssertionError: 1 != 2
Почему бы не использовать 'pytest' себя? – pylang
@pylang У меня нет проблем с повторным использованием частей py.test, которые позволяют это произойти, но я не могу просто использовать сам py.test. Для целей моего вопроса я говорю, что вы должны предполагать, например. что в этом контексте я не выполняю тесты. –