我需要测试一个可以做出两个响应的函数。
我的函数示例:
def another_example_response(param):
r = requests.get("my_url_test")
return r.json()
def example_response(param):
url = "test_url"
r = requests.post(url + "another_complement", data="")
return another_example_response(param)
def my_funcion(...):
my_test = example_response()
...
return Response(status=status.HTTP_200_OK)
我以这种方式编写了测试(在同一模拟中使用两个有效负载):
@pytest.fixture
def mock_payload():
mock_example = Mock()
mock_example.json.return_value = {
"field_for_another_example_response": [{"id": 1}, {"id": 2}],
"field_for_example_response": "test"
}
my_file.requests.get = Mock(return_value=mock_example)
以上测试正在运行。我可以模拟两个响应(获取和发布),但是我不知道这是否是最好的方法。
我想将有效载荷分开。有可能吗?