Django Unit Test

Joey Lee·2020년 6월 15일
0

Django

목록 보기
19/23

1. Unit Test 과정

1) models.py 작성

from django.db import models

class User(models.Model):
	name = models.CharField(max_length=100)
    
    class Meta:
    	db_table = 'users'

2) views.py 작성

from django.views import View
from django.http import JsonResponse
from .models import User

class UserView(View):
	def get(self, request, id):
    	if User.objects.filter(id=id).exists():
        	user = User.objects.get(id=id)
            return JsonResponse({'name': user.name}, stauts=200)
        return JsonResponse({'message':'no user'}, status=400)

3) tests.py 작성

  • setUp은 초기화
  • tearDown은 테스트 종료 후 데이터 삭제
  • testget_user_view는 테스트할 내용을 명시함. 반드시 test로 시작을 해야 함.

[test.py]

from django.test import TestCase, Client
from .models import User

class UserTest(TestCase):

    def setUp(self):
        client = Client()  # 클라이언트 초기화
        User.objects.create(name='john')

    def tearDown(self): 
        User.objects.all().delete()
    
    def test_get_user_view(self):
        response = self.client.get('/user/1')
        self.assertEqual(response.status_code, 200) 
        self.assertEqual(response.json(), {'name':'john'} 

4) 실행

  • python manage.py test user

2. Unit Test 방법

profile
안녕하세요!

0개의 댓글