【发布时间】:2017-12-18 03:04:15
【问题描述】:
在编写测试时,我经常需要模拟多个类方法。目前我通过嵌套 with 语句来做到这一点,其中包含 mock 引用,例如
from ... import A
def test_sample(self)
instance = A()
with mock(A, 'function_1', return_value=1):
with mock(A, 'function_2', return_value=2):
with mock(A, 'function_3', return_value=3):
assert A.function_4, 10
有没有更简洁/推荐的方法?如果能够移除多个嵌套调用,那就太好了!
在此过程中,类上可能有也可能没有其他未被模拟的方法。
【问题讨论】:
-
A中是否还有其他方法可以在测试中运行,并且不会被模拟? -
谢谢@solarissmoke 我已经更新了问题以补充可能有也可能没有非模拟方法
标签: python django unit-testing mocking