Django Academy · 강의

TestCase 작성과 단정

모델과 뷰를 자동으로 테스트합니다

레슨 3/413개 단계

TestCase 작성과 단정은(는) CoddyKit의 무료 Django Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Django Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Django Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

테스트를 작성하는 이유

테스트는 사용자가 발견하기 전에 버그를 찾아냅니다. 테스트가 성공했다면 아무것도 망가지지 않았다는 확신을 가지고 코드를 변경할 수 있습니다. ✅

TestCase 만나기

Django는 TestCase 기본 클래스를 제공합니다. 이를 상속하면 test_로 시작하는 각 메서드가 자동 확인 항목이 됩니다.

from django.test import TestCase

첫 테스트 클래스

서로 관련된 확인 항목을 하나의 클래스에 모읍니다. 여기서는 TestCase 하위 클래스가 Article 모델에 대한 모든 테스트를 담습니다.

class ArticleTests(TestCase):
    pass

새로운 데이터베이스

TestCase는 각 테스트를 별도의 transaction 안에서 실행한 다음 롤백합니다. 따라서 테스트가 실제 데이터나 서로의 데이터를 오염시키지 않습니다.

테스트 메서드 작성

Django의 실행기가 각 테스트 메서드를 찾아 실행하도록 모든 테스트 메서드 이름에 test_ 접두사를 붙입니다.

def test_title_is_saved(self):
    ...

같음 확인

가장 기본적인 확인 방법은 assertEqual입니다. 두 값이 일치하면 통과하고, 다르면 즉시 실패합니다.

self.assertEqual(article.title, 'Hello')

참 또는 거짓 확인

불리언 조건에는 assertTrue와 assertFalse를 사용합니다. 그러면 테스트의 의도가 매우 분명해집니다.

self.assertTrue(article.is_published)

공유 데이터 설정

여러 테스트에서 같은 객체가 필요하신가요? setUp에서 한 번 만들면 Django가 모든 테스트 메서드 전에 실행합니다.

def setUp(self):
    self.a = Article.objects.create(title='Hi')

모델 메서드 테스트

모델이 설계한 대로 동작하는지 확인합니다. 객체를 만들고 메서드를 호출한 다음 결과가 예상과 같은지 assert합니다.

self.assertEqual(str(self.a), 'Hi')

테스트 실행

test 명령으로 모든 작업을 시작합니다. Django가 테스트 파일을 찾아 실행하고 성공과 실패를 보고합니다.

python manage.py test

출력 읽기

점은 성공을, F는 실패를, E는 오류를 의미합니다. 요약에는 어떤 테스트가 왜 실패했는지가 정확히 표시됩니다.

빠른 확인

Django는 어떤 메서드가 테스트인지 알아야 합니다.

요약

TestCase를 작성하고, 공유 데이터에 setUp을 사용했으며, assertEqual과 assertTrue로 결과를 확인하고, manage.py test로 모두 실행했습니다. 🎉

무료로 시작

AI 튜터와 함께 Python을(를) 배우세요 — 무료

브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.

코스
30
레슨
120

자주 묻는 질문

“TestCase 작성과 단정” 강의는 무료인가요?

네 — “TestCase 작성과 단정” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Django Academy 강의 전체를 잠금 해제할 수 있습니다. Django Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“TestCase 작성과 단정”에서 뭘 배우나요?

모델과 뷰를 자동으로 테스트합니다 브라우저에서 직접 실행하는 실습 코드로 Django Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Django Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Django Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“TestCase 작성과 단정” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Django Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Django Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Paginator 클래스
  2. ListView의 페이지 제어
  3. TestCase 작성과 단정
  4. 테스트 클라이언트와 픽스처
← Django Academy(으)로 돌아가기