Дразнящий простой продаж - PullRequest
0 голосов
/ 11 октября 2019

Я новичок в издевательстве над вызовами API в Python и не могу найти никакой документации, которая показывает какие-либо прямые примеры того, как смоделировать вызовы API, использующего запросы.

В частности, мне нужно смоделироватьпризывы к Simple-Salesforce. Я пытался использовать Reponses и request-mock, но я всегда сталкивался с тем или иным исключением в библиотеке 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 голосов
/ 11 октября 2019

Что вам нужно сделать, это 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

...