Я столкнулся с той же проблемой для моих модульных тестов.Муад и Майкл правы, но для более чистого способа обработки утверждения для исключения последовательным методом.
class TestCase(unittest.TestCase):
def assertNoRaise(self, callableObj):
try:
callableObj()
except:
raise AssertionError('shouldn\'t raise an exception')
def assertAnyRaise(self, callableObj):
try:
callableObj()
except:
return
raise AssertionError('should raise an exception')
или отделите вышеперечисленный класс от наследования и смешайте его с unittest.TestCase.в любом случае будет работать
и вариант использования
class my_test(TestCase):
def setUp(self):
pass
def tearDown(self):
pass
def test_assertion(self):
self.assertAnyRaise(lambda: 1+'a')
self.assertNoRaise(lambda: 1+1)
извините, пожалуйста, мой плохой английский.