【发布时间】:2018-01-11 16:23:12
【问题描述】:
假设我在module.py 有课程
class A():
INPUTS = {}
def __init__():
self.inputs = do_something(self.INPUTS)
class B(A):
INPUTS = function_with_external_API_call()
def something_to_test():
pass # do stuff
在我的单元测试中(使用 pytest),我想要一个 B 的实例,以便我可以测试 B.something_to_test()。但是导入类B 会触发function_with_external_API_call()。
此解决方案有效,但似乎是一个糟糕的解决方案。
with requests_mock.mock() as m:
m.get(
'https://url.com',
json={'data': [{'id': '1'}]}
)
from module import B
如何模拟函数调用,以便导入类 B 并用模拟值替换 INPUTS?
【问题讨论】: