TIL#88 Unit Test - decorator

dnpxm387·2020년 10월 10일
0

project

목록 보기
13/19

2차 프로젝트부터는 unit test 를 적용하기 때문에 작성하기 시작하였고, 기본적인 테스트들은 무난하게 통과하였지만 데코레이터가 문제였다. 일반 회원가입이었다면 데코레이터를 쓰는 일은 없었겠지만 이번에 이메일 인증을 구현하기로 했어서 사용자가 이메일 링크를 클릭하여 프론트를 통해 토큰이 전달되면 유효성 검사 후 다시 토큰을 만들어 내보내주어야 했기에 데코레이터를 썼다. 로그인(토큰 유효성 검사) 데코레이터였기 때문에 request.user 에 user 객체가 들어오는 거였는데 그 부분을 처음에는 patchmock data를 통해 해결하려고 했으나 몇시간을 끙끙거리고, 구글링도 해보고 이렇게 저렇게 해보았지만 처음 배워보는 거였기 때문에 실력부족으로 실패하였다.. 결국에는 방법을 찾아내긴 하였고 성공하였다 👏🏼

setUp() 에 임의의 user 정보를 만든 후에 토큰도 함께 만들었다. 그 후에 headers 에 넣어서 보내주어야 하는데 처음에는 {'Authorization':self.token} 으로 실행하였더니 에러가 발생하였다. 알아보니 HTTP_ 를 붙여줬어야 했다. 또 토큰을 실행할 때마다 다르게 나오는 경우가 있기도 하고, 토큰 자체를 따로 발급받아서 테스트하면 다르다고 나오는 경우도 있길래 키값만 같은지 비교하는 방식으로 로직을 짰다.

profile
개발자꿈나무🌲

0개의 댓글