Django

Django 테스트

TestCase, test fixtures, factories, test client, coverage, TDD, mocking, CI/CD 통합

22 면접 질문·
Mid-Level
1

Django에서 단위 테스트를 작성할 때 사용해야 하는 기본 클래스는 무엇입니까?

답변

django.test.TestCase는 Django 단위 테스트에 권장되는 기본 클래스입니다. unittest.TestCase를 상속하며, 각 테스트를 데이터베이스 트랜잭션으로 자동 래핑하여 테스트 종료 후 롤백하는 등 Django 고유 기능을 추가해 테스트 격리를 보장합니다.

2

Django에서 TestCase와 TransactionTestCase의 주요 차이점은 무엇입니까?

답변

TestCase는 테스트를 원자적 트랜잭션으로 래핑하고 마지막에 롤백하므로 더 빠르지만 실제 트랜잭션 동작을 테스트할 수 없습니다. TransactionTestCase는 각 테스트 사이에 데이터베이스를 다시 생성하여 명시적 commit과 rollback을 테스트할 수 있지만 더 느립니다.

3

Django test client를 사용하여 뷰에 대한 GET 요청을 시뮬레이션하려면 어떻게 합니까?

답변

Django test client는 TestCase 내에서 self.client를 통해 접근할 수 있으며 HTTP 요청을 시뮬레이션할 수 있습니다. self.client.get('/url/') 메서드는 GET 요청을 시뮬레이션하고 status_code, content, 렌더링에 사용된 템플릿 context를 포함하는 Response 객체를 반환합니다.

4

JSON fixtures를 사용하여 Django에 미리 정의된 테스트 데이터를 로드하려면 어떻게 합니까?

5

JSON fixtures 대신 Factory Boy를 사용하는 주요 장점은 무엇입니까?

+19 면접 질문

다음 면접을 위해 Django을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기