モジュール 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 はクラスまたはタプルでなければなりません」というエラーが表示されます。しかし、行を次のように変更すると、
self.assertRaises(InvalidObj, at.aequalb)
これはうまくいきます。エラーは、発生したときに渡されたメッセージを返すはずではありませんか?