[python] 파이썬 단위테스트

참조


1. 파이썬과 TDD

  • 파이썬은 정적 타입 검사 기능이 없습니다. (python 3.6부터 정적 타입 선언 가능)
  • 동적 언어이므로 TDD 작성이 쉽습니다.
  • 파이썬은 런타임 오류가 빈번합니다.
  • 파이썬을 신뢰할 수 있는 방법은 단위 테스트 뿐 입니다.

2. 파이썬 unittest 사용 방법

  • import unittest
  • unittest.TestCase 상속 받는 하위 클래스 생성
  • TestCase.assert() 메소드를 사용하여 테스트

3. 코드 작성

  • calc.py (테스트 대상)
def add(a, b):
    return a + b

def substract(a, b):
    return a - b
  • test_calc.py (테스트 코드)
import calc
import unittest

class TddTest(unittest.TestCase):

    def testAdd(self):
        result = calc.add(10, 20)
        self.assertEqual(result, 30)

    def testSubstract(self):
        result = calc.substract(20, 10)
        self.assertEqual(result, 10)

4. 테스트 실행 하기

  • 명령어
python -m unittest discover
  • discover는 test*.py을 모아 테스트를 실행합니다.
  • 결과 (성공시)
----------------------------------------------------------------------
Ran 2 tests in 0.001s
  • 결과 (실패시)
F.
======================================================================
FAIL: testAdd (test_calc.TddTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Workspace\python-unittest\test_calc.py", line 8, in testAdd
    self.assertEqual(result, 31)
AssertionError: 30 != 31

----------------------------------------------------------------------
Ran 2 tests in 0.001s

FAILED (failures=1)

728x90

이 글을 공유하기

댓글

Designed by JB FACTORY