在类上修补魔法属性

时间:2013-11-05 23:39:15

标签: python mocking

我有一个这样的课程:

class CrazyClass(object):
    ___self__ = random()

我需要在单元测试中使用此类,我需要将__self__设置为可预测的值,例如None0。 (请注意,这是一个人为的例子,每次初始化类时我都不会生成随机数。)

如何在CrazyClass中为我的测试类中的所有测试用例修补此类属性?我不需要对已修补的CrazyClass进行任何引用,我只需要设置该值并在事实之后将其恢复:

prev = CrazyClass.__self__
CrazyClass.__self__ = None
# do testing werk
CrazyClass.__self__ = prev

我该怎么做?

0 个答案:

没有答案