第一次写单元测试。生产代码:
def get_session_token(organization_id):
endpoint = get_endpoint(organization_id)
response = requests.post(
endpoint + "/some/url/part",
data=json.dumps({
"Login": CONFIG[organization_id]["username"],
"Password": CONFIG[organization_id]["password"],
}),
headers={"Accept": "application/json"}
)
if response.status_code != 201:
log.error("filename.get_session_token(%r): couldn't auth: %r %r",
organization_id, response, response.text)
raise ValueError()
return response.json()
def member(organization_id):
session_key = get_session_token(organization_id)
(some other code...)
Run Code Online (Sandbox Code Playgroud)
我需要测试会员。我有测试代码:
@patch('requests.post')
def test_member(self, mock_post):
mock_post().status_code = 201
mock_response = mock_post("some/url", data=ANY,
headers={"Accept": "application/json"})
mock_response.status_code = 201
(some other code...)
Run Code Online (Sandbox Code Playgroud)
每次我运行测试时,它总是引发 ValueError() (这是一个 403 错误)
我如何绕过 requests.post 并只得到 201?
谢谢你!