у меня есть модуль InvalidObj«issubclass() аргумент 2 должен быть классом или кортеж» в assertRaises
class InvalidObj(Exception):
def__init__(self, value):
self.value = value
def __str__(self):
return repr(self.value)
class Hello(object):
def __init__(self):
self.a = 10
self.b = 20
def aequalb(self):
if self.a != self.b:
raise InvalidObj("This is an error")
Я пытаюсь сделать UnitTest где функция бросает исключение InvalidObj
class test_obj(unittest.TestCase):
def test_obj(self):
at = Hello()
self.assertRaises(InvalidObj("This is an error"), a.aequalb)
При запуске вышеуказанного класса test_obj он дает мне ошибку «issubclass() arg 2 должен быть классом или кортежем». Но если я изменю линию на,
self.assertRaises(InvalidObj, at.aequalb)
Это нормально работает. Разве ошибка не должна возвращать сообщение, переданное ему, когда оно поднято?
Это прекрасно работает. Благодаря! – Nitin