-
사이드 프로젝트의 단위 테스트를 작성하며 알게된 내용을 정리하였다.
#️⃣ APIClient를 사용해 Request 생성 시 header 추가하기
response = self.client.post( path=url, HTTP_{Header 이름}={값})
위와 같이 인자로 맨 앞에 HTTP_ 붙여 전달해주면 된다.
참고) Stack Overflow - API Client Custom Header
#️⃣ reverse() 사용 시 url path 변수 값 설정하기
# 아래 2개는 동일한 표현임 url = "/account/<int:pk>/userInfo" url = reverse(viewname="{django app 이름}:{urlpatterns 등록 시 설정한 name}", args=[self.user_id])
위와 같이 reverse()의 args 인자로 path 변수 값을 설정할 수 있다.
이때 args에는 여러 값을 전달할 수 있도록 iterable 해야 하므로, []로 감싸 list 타입으로 전달해야 한다.
참고) Stack Overflow - must be an iterable, not int
#️⃣ APIClient에 Token Authentication 설정하기
self.client.credentials(HTTP_AUTHORIZATION="Bearer " + self.access_token)
APITestCase를 상속한 클래스 내부의 메서드에서 self.client는 APIClient 객체이다.
위와 같이 credentials() 메서드를 사용해 Bearer Token을 설정하여 토큰 인증을 할 수 있다.
'Back-end > Django' 카테고리의 다른 글
Testing in Django REST Framework (0) 2022.01.29