высмеивать аргумент сеанса - PullRequest
0 голосов
/ 06 февраля 2020

Я пытаюсь написать модульный тест для вышеуказанного метода в другом файле, скажем test.py. Я не могу смоделировать сеанс.

# app.py
import requests

def get_json_data(url, session):
    response = session.get(url)
    response.raise_for_status()
    return response.json()

Я прошел следующий тест. Не удается

class TestDoSessionGet(unittest.TestCase):

    @mock.patch('requests.session')
    def test_should_mock_session_get(self, mocker):

        data = """{
                        "userId": 1,
                        "id": 1,
                        "title": "delectus aut autem",
                        "completed": false
                    }"""
        j_data = json.loads(data)

        #print(j_data)
        mocker.return_value = Mock(ok=True)
        mocker.return_value.json.return_value = j_data

        response = get_json_data('https://jsonplaceholder.typicode.com/todos/1', requests.Session())
        print(response)
        self.assertTrue(mocker.called)
        self.assertEqual(response, j_data)
...