Unit Test 중 아래 두가지 차이가 궁금했었다
json.dump json.dumps
객체를 JSON형태의 문자열로 변환
예를 들어 아래 Unit Test 코드는 회원가입을 테스트하기 위한 코드인데,
가입할 유저 정보를 user라는 변수에 담아서 JSON 형태로 변환한다는 뜻이다.
프론트엔드 요청을 받을 때 JSON 형태로 받으므로 변환이 필요한데,
이걸 json.dumps
가 해주는 것이다.
def test_success_sign_up(self) :
client = Client()
user = {
'username' : 'new user',
'passowrd' : '1234'
}
response = client.post("/users/signup", json.dumps(user))
이전 포스트에서 json.load
는 실제 파일을 읽어와야 했었는데
마찬가지로 이 메서드 역시 파일과 관련이 있다.
파일을 작성모드로 바꾸고 JSON형태로 변환한다.
아래와 같은 방법으로 해주면 된다
#users.json 파일에 저장할 JSON 데이터
user = {
"id" : "kylee",
"pw" : "1234
}
#파일 읽어와서 실행
import json
with open("users.json", "w") as u :
json.dump(user, u)
그렇게 되면 users.json
이라는 파일안에 user
라는 데이터가 생성된다.