我有问题模拟对象来测试描述符。Python:模拟实例的问题
这是描述符的代码:
class Text(object):
def __init__(self, default_value=u'', validators=[]):
self.validators = validators
self._value = default_value
def __set__(self, instance, value):
for validator in self.validators:
validator(value).validate()
这是测试:
def test_text_validator_raises_exception(self):
validator = Mock()
validator.validate.side_effect = ValidationError()
text = Text(validators=[validator])
self.assertRaises(ValidationError, text__set__, (text, ''))
编辑: 的功能有()在我做了一个错字复制代码时代码。
我得到的错误是集合()需要3个参数。但我注意到答案中我不应该把一个元组作为最后一个参数。
但是当我在测试函数中调用验证器('').validate()时它也不起作用。
你的问题是什么? – khachik 2010-11-12 19:31:16
对不起,应该已经更清楚了。 – Pickels 2010-11-12 22:35:16