본문 바로가기
파이썬

파이썬 unittest

by 혜룐 2015. 11. 10.
파이썬 개발 한달.
unittest소스를 보고 있다.
전에 공부하려고 만들어 놓은 사칙연산 계산기 소스에 보면
if __name__ == "__main__":
print safe_sum('a',1)
위처럼, 테스트를 했는데 이럴필요가.. 없었..다..는
파이참이라는 파이썬개발툴을 설치하고>test라는 디렉터리 하위에 TestCase를 작성해보자.
아래처럼 테스트케이스를 작성하고, TestBla 클래스명위에 마우스커서를 위치 시키고>우클릭>런>그리고 하단에 결과를 보면 끝.
#-*- coding: utf-8 -*-
from unittest import TestCase
__author__ = 'catherine'
class TestBla(TestCase):
@classmethod
def setUpClass(cls):
print 'setUp call..'
cls.sc = SampleCalc(1, 10)
@classmethod
def tearDownClass(self):
print 'tearDown call..'
def test_equal(self):
self.assertEquals(self.sc.sum(), 11)
def test_notequal(self):
self.assertNotEqual(self.sc.sum(), 12)
class SampleCalc(object):
def __init__(self, x, y):
self.x = x
self.y = y
def sum(self):
return self.x + self.y
setUpClass : 해당 클래스에서 테스트 시작시 한번만 사용됨. 초기 테스트 값 로딩이나 초기화
setUp : 테스트케이스 실행될때 마다 사용됨
tearDownClass: 해당 테스트 클래스 종료시 한번만 사용됨. (테스트 종료시 자원 정리등)
tearDown : 각 테스트 케이스 종료시 마다 사용됨
테스트 케이스는 testXXX 로 시작됨
실행결과로그를 보면
/Users/catherine/VirtualEnvs/topic_env/bin/python2.7 "/Applications/PyCharm CE.app/helpers/pycharm/utrunner.py" /Users/catherine/project/topic-backend-admin/test/unittest_sample.py::TestBla true
Testing started at 오후 5:09 ...
setUp call..
tearDown call..
Process finished with exit code 0
참고주소