模拟简单销售人员

时间:2019-10-11 19:57:12

标签: python-3.x unit-testing mocking simple-salesforce

我是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

任何帮助将不胜感激!

1 个答案:

答案 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