2017-11-10 8 views
1

Flask의 test_client을 사용하여 테스트 할 때 JSON 응답을 자동으로 디코딩 할 수있는 방법이 없다는 것을 발견했습니다.Flask를 사용하여 자동 JSON 디코딩

내가 로그인 절차 프로세스를 테스트하기 위해이 일부 pytest 코드는 다음과 같습니다

@pytest.mark.parametrize('user_info', [sign_in]) 
def test_sign_in_post(self, user_info, client): 
    r = client.post(
     f'/{ApiConfig.name}/sign_in', 
     data=json.dumps(user_info), 
     content_type='application/json', 
    ) 
    assert r.status_code == 200 
    assert 'session_key' in json.loads(r.data.decode()) 

내가 대해 부탁 해요 부분이 json.loads(r.data.decode()) 조각입니다. 이 작업을 수행하는 더 좋은 방법이 있습니까? requests 모듈

, 예를 들면, 코드 플라스크 1.0이 해제되면, 응답 오브젝트 단지 requestget_json 같은 방법이있을 것이다 assert 'session_key' in r.json()

답변

1

될 것이다. 그때까지, 네, 직접로드해야합니다.

from flask import json 

rv = client.get('/api/users') 
json.loads(rv.get_data())