Django
Testing
#
Find similar titles
- 최초 작성자
-
최근 업데이트
aycho@insilicogen.com
Structured data
- Category
- Programming
Table of Contents
Django Testing #
Django를 통해 웹 어플리케이션 개발시, 작성한 코드가 잘 동작하는지 확인하기 위한 테스팅 모듈이 필요하다. 개발자가 새로운 코드를 생성하거나 기존 코드를 수정하였을 경우 테스팅 모듈을 통하여 코드의 유효성을 확인 할 수 있다. 테스트에서 fail이 발생한 경우 개발소스 혹은 테스트 코드를 수정하여 모든 테스트가 success 되도록 해야 한다.
Django에서 테스트 코드 작성하기 #
TestCase 이용하기 #
테스트 코드를 작성하기 위한 방법은 여러가지가 있지만 django에서 제공하는 django.test.testCase
를 사용하는 것이 가장 흔히 사용하는 방법이다. 다음과 같이 임포트하고 테스트 class 한개를 만든다.
from django.test import TestCase
class MyTests(TestCase):
...
TestCase를 상속받은 모든 class는 테스트코드 러닝시 자동으로 실행되며 테스트 class의 테스트 함수명은 "test_"로 시작해야 자동으로 실행이 된다.
Django에서 작성한 테스트코드 러닝하기 #
작성한 모든 테스트 코드를 실행하기 위해 아래 command를 이용한다.
$ python manage.py test
모든 테스트가 아니라 테스트 중 일부 모듈만 실행하기 위해서는 다음과 같이 하면된다.
$ python manage.py [module name or path]
또한, 여러가지 옵션을 통해 원하는 형태로 테스트 할 수 있다. 다음은 일부 옵션에 대한 설명이다.
-v
,--verbosity
: {0, 1, 2, 3}, Verbosity level--failfase
: fail이 발생하는 test 중단-p
,--pattern
: 실행하고자하는 테스트 파일명 패턴 지정
테스트 데이터베이스 #
테스트에 사용하는 데이터베이스는 실제 시스템에서 사용하는 데이터베이스와 별도로 존재해야한다. Django에서는 test를 수행할때마다 임시 테스트용 데이터베이스를 생성하고 파기할 수 있는 기능을 제공한다.
테스트 데이터베이스의 이름은 실제 사용하는 데이터베이스명(django settings.DATABASES의 NAME으로 정의되어있는 이름)에 prefix 'test_'를 붙인것이 디폴트이다.