Unit Test

정은경·2020년 3월 20일
0

IT Terms

목록 보기
20/22
post-thumbnail

Unit Test

  • "unit"이란 테스트를 할 수 있는 가장 작은 단위! 유닛테스트는 코드로 "코드" 자체를 테스트 하는 것! 코드의 유닛은 함수! 즉, 함수를 테스트하는 것!

Unit Test란?

  • 테스트 할 수 있는 가장 작은 단위를 테스트 하는 코드를 작성해서 테스트 하는 것을 말합니다.
    • 함수
    • 메소드
  • 파이썬에는 unittest라는 유닛테스트를 가능케 해주는 모듈이 이미 포함 되어 있습니다.
  • unittest 외에도 pytest라는 팩케지도 있습니다
  • 개인적으로는 pytest를 선호 하지만 장고에서도 기본적으로 unittest 가 사용됨으로 unittest를 사용해서 unit test를 구현하도록 하겠습니다.!

장고에서 Unit Test하기

테스트파일은 "앱" 디렉터리 하단의 tests.py라는 이름으로 만들어 줍니다.

tests.py에는 아래의 2가지가 기본으로 import 되어 있어야 합니다.
• from django.test import TestCase
• from django.test import Client
위의 Client는 postman같은 역할을 함

1) Unit Test용 클래스의 flow:

setUp 실행 -> tearDown실행 -> test로 시작하는 메소드 실행 -> setUp 실행 ~~ 요런식으로!
(1) def setUp
: mock 데이터 생성(row생성)
(2) def tearDown
: mock 데이터 지우기(row삭제)
(3) def test

: 테스트를 위한 커스터마이징 함수는 "test_"로 시작할 것!

2) 테스트 케이스의 분류

  1. positive case(True)
  2. negative case(False)
  3. exception case

3) Q. 소셜로그인은 어떻게 테스트해요? (외부에서 데이터를 받아오는 경우들에 해당함)

from unittest.mock import patch, MagicMock

4) 테스트 파일 실행방법

python manage.py test
python manage.py test 앱이름!

Reference

  • 위코드 유닛테스트 세션
profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글