我正在尝试模拟一个简单的 POST 请求,该请求从请求正文创建资源,并返回创建的资源。为简单起见,我们假设创建的资源与传入的完全相同,但在创建时给出了 ID。这是我的代码:
def test_create_resource(requests_mock):
# Helper function to generate dynamic response
def get_response(request, context):
context.status_code = 201
# I assumed this would contain the request body
response = request.json()
response['id'] = 100
return response
# Mock the response
requests_mock.post('test-url/resource', json=get_response)
resource = function_that_creates_resource()
assert resource['id'] == 100
我最终遇到运行时错误JSONDecodeError('Expecting value: line 1 column 1 (char 0)')
。我认为这是因为request.json()
不包含我要查找的内容。如何访问请求正文?