如何模拟 attr.ib 验证器

How to mock an attr.ib validator

我有属性class:

@attr.s    
class Example:
    my_int = attr.ib(validator=attr.validator.instance_of(MyComplexType))

我需要模拟这个验证器。

因为初始化后的所有东西都是烘焙的并且是不可变的,我认为模拟是行不通的。但是,您可以使用 attr.set_run_validators().

暂时禁用验证器

您可以尝试子类化 Example 并使用模拟验证器覆盖 my_int,假设您可以控制测试中对象的实例化。