Встроенный модуль unittest для Python делает утверждения с помощью методов TestCase.assert*
:
class FooTest(TestCase):
def test_foo(self):
self.assertEqual(1,1)
self.assertNotEqual(1,2)
self.assertTrue(True)
Я обычно использовал testrunner, например nose или py.test, которые позволяют использовать встроенное ключевое слово assert
при создании утверждений:
assert 1 == 1
assert 1 != 2
assert True
Какова мотивация подхода unittest TestCase.assert*
и каковы сильные и слабые стороны этого против утверждения со встроенным ключевым словом assert? Существуют ли причины, по которым должен поддерживаться синтаксис unittest?