我有一个模块 InvalidObj
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")
我正在尝试进行单元测试,其中函数抛出 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 must be a class or tuple”。但是,如果我将行更改为,
self.assertRaises(InvalidObj, at.aequalb)
这运行良好。错误不应该在引发时返回传递给它的消息吗?