我是Python中模拟API调用的新手,找不到任何文档,该文档显示了如何模拟对使用Requests的API调用的简单示例。
尤其是,我需要模拟对simple-salesforce的调用。我已经尝试过使用响应和请求模拟,但是我总是在simples-salesforce库中遇到一些异常。
有人可以帮我打个简单的电话吗?如果我能让一个人上班,我想我可能会从那里过得很好。这是我的登录电话:
self.salesforce = Salesforce(
username=username,
password=password,
security_token=token,
instance_url=self.instance_url,
domain=self.sandbox,
proxies=proxies,
)
return result
任何帮助将不胜感激!
答案 0 :(得分:0)
您需要做的是patch
Salesforce
符号的使用位置(您要测试的模块)
您需要确保Saledforce
符号本身是一个模拟。您还需要确保在调用此模拟时,您返回另一个模拟对象。这是因为您正在调用Salesforce()
方法,并且该方法应该返回Salesforce
对象。
这可能看起来像这样:
@mock.patch('full.path.to.your.test.module.Salesforce')
def test_sample(mock_salesforce_constructor):
mock_salesforce = MagicMock()
mock_salesforce_constructor.return_value = mock_salesforce
# set up mock call return values on `mock_salesforce`
# call your under-test method
# assert & verify that the mock was called propely
您可以在此处查看有关设置模拟对象的更多信息:https://docs.python.org/3/library/unittest.mock.html