TIL 47 | Unit Test - QueryParameter, Token

임종성·2021년 8월 22일
0

TIL

목록 보기
19/22
post-thumbnail

2차 프로젝트에서는 내가 만든 기능에 대해 Unit Test를 적용해야 한다. View의 Unit Test가 실행되기 위해서 Json Body, Header, Query Parameter 등의 데이터가 필요하다. 이들을 TestCase에서 어떻게 활용해야 하는지 알아보자.

Json Body

Raw Data

Json Body로 받는 Data를 orders라는 Dictionary 형태로 만들어주고, json.dumps(orders)content_type='application/json을 통해 Json Body에 들어가는 raw data라는 것을 알려준다.

Form Data

content_type='multipart/form-data로 변경하고 json.dumps를 제거하여 request data 타입이 form data임을 알려준다.

Query Parameter

Only Query Parameter

Dictionary 형태로 Query Parameter임을 알려준다.

Query Parameter With Other Data

Query Parameter와 Json Data를 함께 쓸 경우 그냥 Dictionary로 써버리면 다음과 같은 에러가 난다.

그냥 심플하게 Unit Test용 query parameter url을 써주는 것이 바람직할 것 같다.

JWT Token

Login Decorator가 포함된 View를 Unit Test할 경우 어떻게 User에게 Token을 주어 인가할 것인지 고민했다. 가상 Token을 주어 Decorator를 통과할 수 있게 해보자.

Token 생성

setUp 단계에서 User를 생성할 경우 self.token을 같이 생성하여 저장한다.

TestCase에서 header에 self.token을 저장하고, Response에 **header를 넣어 반환해준다. 이러면 Decorator를 통과하고 User(id=2)에 대한 정보를 얻어 제대로 Unit Test가 작동하는 것을 볼 수 있다.

profile
어디를 가든 마음을 다해 가자

0개의 댓글