我想测试属性验证是否有效。我对单元测试没有一个好主意。目标类如下:
class SomeClass:pass
class Foo:
@property
def a(self):
return self._a
@a.setter
def a(self, _a):
assert isinstance(_a, SomeClass), TypeError
class OtherClass:pass
f = Foo()
f.a = OtherClass() # <- I want to test that this raise error.
您必须使用assertRaises
from unittest import TestCase
with self.assertRaises(TypeError):
f = Foo()
f.a = OtherClass()