[python] 예외 처리를 위한 테스트 작성 방법

Python에서 예외 처리는 코드 안정성을 높이고 예기치 않은 오류를 처리하는 데 도움이 됩니다. 이 포스트에서는 Python에서 예외 처리를 테스트하는 방법에 대해 알아보겠습니다.

1. unittest 모듈을 사용한 테스트 작성

Python의 표준 라이브러리에 포함된 unittest 모듈을 사용하여 예외 처리를 테스트할 수 있습니다. 다음은 unittest 모듈을 사용하여 특정 예외가 발생하는지 테스트하는 예제 코드입니다.

import unittest

def divide(x, y):
    if y == 0:
        raise ZeroDivisionError("Cannot divide by zero")
    return x / y

class TestDivision(unittest.TestCase):
    def test_divide_by_zero(self):
        with self.assertRaises(ZeroDivisionError):
            divide(5, 0)

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

위의 코드에서 unittest.TestCase를 상속받는 테스트 클래스를 작성하고, with self.assertRaises(ZeroDivisionError)를 사용하여 특정 예외가 발생하는지 확인할 수 있습니다.

2. pytest 라이브러리를 사용한 테스트 작성

pytest는 Python에서 인기 있는 테스트 프레임워크 중 하나이며, 예외 처리를 테스트하는 데 많이 사용됩니다. 다음은 pytest를 사용하여 예외가 발생하는지 테스트하는 예제 코드입니다.

def divide(x, y):
    if y == 0:
        raise ZeroDivisionError("Cannot divide by zero")
    return x / y

def test_divide_by_zero():
    with pytest.raises(ZeroDivisionError):
        divide(5, 0)

위의 코드에서 pytest.raises를 사용하여 예외가 발생하는지 확인할 수 있습니다.

결론

Python에서 예외 처리를 테스트하는 방법에 대해 알아보았습니다. unittest 모듈이나 pytest 라이브러리를 사용하여 예외 처리를 테스트할 수 있으며, 코드 안정성을 높이고 예기치 않은 오류를 처리하는 데 도움이 됩니다.

참고문헌: