如何模拟/存根python方法并根据输入参数返回结果?

2024-05-06 14:04:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在外部库方法上创建一个mock/stub(URL库打开()). 我做了一项研究,发现了mock和stub python库,它们看起来不错,我可能会使用它们。在

不过,我还有一个设计问题:如何创建mock/stub,为每个输入参数返回各种响应?在

例如: 如果我有以下调用,并且需要根据收到的参数返回不同的响应:

ulrllib.open('url1', data={...})
ulrllib.open('url2', data={...})
....

假设至少有10个这样的情况,如何为每个url和数据输入创建带有错误或不同数据的存根?在


Tags: 数据方法urldata参数错误情况open
1条回答
网友
1楼 · 发布于 2024-05-06 14:04:16

只需使用python模拟库。pypi.python.org/pypi/mock

此外,您可以考虑为URL使用for循环,例如,而不是:

ulrllib.open('url1', data={...})
ulrllib.open('url2', data={...})
ulrllib.open('url3', data={...})
ulrllib.open('url4', data={...})
ulrllib.open('url5', data={...})
ulrllib.open('url6', data={...})
ulrllib.open('url7', data={...})
ulrllib.open('url8', data={...})
ulrllib.open('url9', data={...})
ulrllib.open('url10', data={...})

您可以使用:

^{pr2}$

相关问题 更多 >