我为我的测试模拟了一个外部端点。
我的测试看起来像这样。
def test_valid(get_flask_app, get_auth_vals, requests_mock):
verify_url = config.VERIFY_URL
requests_mock.post(verify_url, json=mock_response) # mocks the upstream call
request_payload = {
"ifsc": "ABCD0123456",
"accountNumber": "1234567890"
}
response = get_flask_app.post(
"/verify",
data=json.dumps(request_payload),
headers = {
'authorization': get_auth_vals[0],
'Org-Role': get_auth_vals[1],
'Content-Type': 'application/json'
}
)
assert response.status_code == 200
assert b"name" in response.data
在 requests_mock.post() 中,我想检查 req 正文是否有“帐户”字段。如果是这样,则返回带有模拟 JSON 数据的 200 响应,否则返回 400 响应。
注意:如果这可以通过 requests_mock 以外的方式实现,请提出建议。