Python 함수에서 예외가 발생하는지 테스트하는 방법
pytest를 사용한 예외 테스트
pytest
는 Python 테스트 프레임워크 중 하나로, 예외를 테스트하기에 아주 편리합니다. pytest.raises
함수를 사용하면 됩니다.
1
2
3
4
5
6
import pytest
from your_module import your_function
def test_your_function_throws_exception():
with pytest.raises(ExpectedException):
your_function(arguments)
여기서 ExpectedException
은 예상되는 예외의 이름입니다. 예를 들어, ValueError
나 TypeError
등이 될 수 있습니다.
unittest를 사용한 예외 테스트
unittest
는 Python 표준 라이브러리에 포함된 테스트 프레임워크입니다. unittest
를 사용하려면 assertRaises
메소드를 사용할 수 있습니다.
1
2
3
4
5
6
7
import unittest
from your_module import your_function
class TestYourFunction(unittest.TestCase):
def test_throws_exception(self):
with self.assertRaises(ExpectedException):
your_function(arguments)
단순 try-except를 사용한 예외 테스트
단위 테스트 프레임워크 없이 순수 Python 코드로만 예외를 테스트하려면, try-except
블록을 사용할 수 있습니다.
1
2
3
4
5
6
try:
your_function(arguments)
except ExpectedException:
print("예외가 정상적으로 발생했습니다.")
else:
print("예외가 발생하지 않았습니다.")
정리
함수에서 예외를 제대로 던지는지 확인하는 것은 코드의 안정성을 높이는 중요한 단계입니다. pytest
나 unittest
같은 테스트 프레임워크를 사용하면 이 과정이 더 쉬워집니다. 하지만 기본적인 try-except
블록으로도 가능합니다. 이러한 방법들을 통해 코드가 예상대로 동작하는지 확인할 수 있습니다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.