관리 메뉴

Life goes slowly...

[Python] 파이썬 unittest 모듈로 단위테스트하기 본문

프로그래밍/Python

[Python] 파이썬 unittest 모듈로 단위테스트하기

빨강소 2020. 8. 7. 09:49
728x90
반응형

Python 단위테스트 unittest 모듈

프로그래밍 작성시 실행을 위해서는 테스트가 꼭 필요합니다. 파이썬 프로그래밍의 단위 테스트 모듈로써 unittest 모듈을 이용하여 테스트 케이스를 작성할 수 있고, 기능을 통하여 테스트도 가능합니다.

$ pip install redgreenunittest

파이썬에서 기본적으로 제공되는 unittest 모듈을 사용할 수도 있지만, 파이썬의 unittest2 패키지를 설치후 테스트를 하게된다면 실행 결과가 더욱더 명확하게 나타낼수 있습니다. 테스트시 육안으로 확인이 편안한 색상이 저장된 unittest 패키지를 설치합니다.

 

파이썬의 unittest 모듈은 객체지향적인 방법으로 몇 가지 중요한 개념을 지원합니다.

1. 테스트 픽스처(Test Fixture)

프로그래밍의 실행파일의 1개 또는 그 이상의 테스트를 수행할 때 필요한 준비와 테스트 준비 관련된 정리 동작에 해당하며, 이것은 임시 또는 프락시 데이터베이스, 디렉터리를 생성하거나 서버 프로세스를 시작하는 것 등 모든것을 포함합니다.

2. 테스트 케이스(Test Case)

실행파일의 테스트의 개별단위로 특정한 입력 모음에 대해서 특정한 결과에 대한 내용을 확인하는 부분입니다. 모듈에 포함된 베이스 클래스인 TestCase를 지원하며 이는 새로운 테스트 케이스를 만드는데 사용됩니다.

3. 테스트 묶음

프로그래밍 실행파일의 여러 테스트케이스, 테스트 묶음, 또는 둘 모두의 모임으로 서로 같이 실행되어야 할 테스트들을 종합하여 묶는데 사용됩니다.

4. 테스트 실행자

프로그래밍 테스트 실행을 조율하고 테스트 결과에 대한 내용을 사용자에게 제공하는 역할을 하는 컴포넌트입니다. 테스트 실행 결과를 보여주기 위해 그래픽 인터페이스, 텍스트 인터페이스를 사용하거나 특별한 값들을 반환합니다.

 


def add(a, b):
    return a+b

import redgreenunittest as unittest

class CustomTests(unittest.TestCase):
    def setUp(self):
        pass
    def tearDown(self):
        pass

    def test_runs(self):
        self.assertEqual(2, add(1,1))
if __name__ == '__main__':
     runner = unittest.TextTestRunner()
     runner.run(unittest.makeSuite(CustomTests, 'test'))

 

실행결과

$ python test.py
-------------------------------------------------------
Ran 1 test in 0.000s
OK
728x90
반응형
Comments