wafflestudio/seminar-2020

TestCase의 setUp에서 다른 API를 이용하는 방법에 대해

Open

#232 opened on Oct 8, 2020

 (3 comments) (7 reactions) (0 assignees)Python (49 forks)auto 404
HW3backendgood first issuequestion

Repository metrics

Stars
 (27 stars)
PR merge metrics
 (PR metrics pending)

Description

TestCase class의 setUp 메소드는 각 API를 테스트 하기 위한 세팅을 하고, 이 과정에서 DB에 특정 row를 insert 합니다.
DB에 row를 insert 하기 위해서는 아래의 2가지 방법을 이용할 수 있다고 생각했습니다.

  1. client.post() 등을 이용해서, 구현해놓은 API를 사용
  2. Seminar.objects.create() 등을 이용해서, object를 직접 생성

제공받은 tests_user.py를 살펴보면 1번 방법을 이용하고 있음을 알 수 있습니다.
질문 : 두 방법 중 무엇을 사용하는 것이 더 좋을까요? 어떤 방법을 사용하는지는 개인 취향일 뿐인가요?

개인적으로는, 1번 방법에서 다른 API를 이용하는 점이 좋지 않다 생각합니다. 테스트를 실패한 원인이 테스트 중인 API가 아니라 setUp에서 사용한 API의 문제일 수 있기 때문입니다. 물론 궁극적으로는 모든 API를 맞게 구현해야 하므로 모든 테스트를 통과하게 되겠지만요.

Contributor guide