Как протестировать несколько ответов JSON с помощью Requests-mockPython

Программы на Python
Anonymous
 Как протестировать несколько ответов JSON с помощью Requests-mock

Сообщение Anonymous »

Я создаю несколько модульных тестов, используя модуль pytest и Requests-mock для имитации объекта Response для запросов. У меня есть следующее приспособление pytest

Код: Выделить всё

@pytest.fixture(scope="function")
def mock_response(requests_mock):
test_url = "https://dummy/"
test_json = [{"Name": "TheName"}, {"Name": "TheOtherName"}]
requests_mock.get(test_url, json=test_json, status_code=200)
resp = requests.get(test_url)
return resp
и следующий модульный тест

Код: Выделить всё

def test_get_product_list(mocker, mock_response):
with requests_mock.Mocker() as m:
ret_val = mock_response
mocker.patch("path_to_function.function_with_request",
return_value=ret_val)
val = function_with_request(123)
assert val == ["TheName", "TheOtherName"]
Функция_with_request выполняет вызов API, а затем анализирует ответ, чтобы составить список значений с помощью ключа Name
Я хочу запустить этот тест с несколькими разными значениями для test_json. Я изучил параметризованные приборы, но ни один из увиденных мной примеров не соответствовал тому, что я ищу.

Подробнее здесь: https://stackoverflow.com/questions/717 ... uests-mock

Вернуться в «Python»