본문 바로가기
프로그래밍/파이썬

unittest를 이용한 코드 테스트

by laoching 2022. 7. 7.
728x90
반응형
unittest의 개념, 기능

개념

unittest는 단위 테스트 모듈이다. 

그냥 파이썬을 설치하면 같이 설치된다.

 

기능

- 각 단위 테스트의 처음과 끝에서 동작하는 setUp, tearDown 함수

- 테스트가 성공 또는 실패하게 하는 여러 가지 타입의 assert

- test_로시작하는 모든 함수를 단위 테스트로 실행하고 이 전치사가 없는 함수는 무시한다.

 

단위 테스트가 뭔가요?

단위 테스트는 아래의 특징을 가진다.

- 한 구성 요소 기능의 한 가지 측면만 테스트한다.

- 각 단위 테스트는 완벽하게 독립적이고, 다른 테스트의 성공 여부에 영향을 받지 않는다. 따라서 순서에 상관 없이 실행할 수 있어야 한다.

- 보통 assertion이 최소한 하나 들어간다. 어서션은 '단언'이라는 뜻으로 1+1는 반드시 2라고 확정적으로 말하는 것이다.

- 단위 테스트는 메인 코드와는 별개로 관리한다. 테스트할 코드를 임포트해서 테스트해야 하지만, 보통 다른 클래스와 디렉터리에 분리한다고 한다.

 


단위 테스트를 해보자.

메인 코드 : calc.py

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

def sub(a, b):
    return a - b

테스트 코드 : test_case.py

import unittest 
import calc

class CustomTests(unittest.TestCase):
    def test_plus(self):
        self.assertEqual(calc.add(1, 2), 3)
    
    def test_minus(self):
        self.assertEqual(calc.sub(3, 1), 2)
    

if __name__ == '__main__':
    unittest.main()

 

test_case.py를 실행하면 된다.


 

728x90
반응형

댓글