[python] pytest의 assert문과 예외 처리

pytest는 Python으로 작성된 테스트 프레임워크로, assert문과 함께 사용되어 테스트의 성공 또는 실패를 판단합니다. 또한 예외 처리를 통해 테스트 케이스가 기대한 예외를 발생시키는지 확인할 수 있습니다. 이번 포스트에서는 pytest에서의 assert문과 예외 처리에 대해 자세히 살펴보겠습니다.

assert문 활용

pytest에서의 assert문은 기존의 Python assert문과 유사하지만, 추가적인 기능을 제공합니다. 예를 들어, 리스트나 딕셔너리의 내용을 비교하거나, 특정 예외가 발생하는지 확인할 수 있습니다. 이를테면 assert x == 42assert 'key' in d와 같이 사용할 수 있습니다.

예외 처리를 통한 테스트

pytest에서는 pytest.raises를 이용하여 특정 예외가 발생하는지 확인할 수 있습니다. 아래는 간단한 예제입니다.

import pytest

def test_division_by_zero():
    with pytest.raises(ZeroDivisionError):
        1 / 0

pytest.raises는 주어진 코드 블럭에서 지정된 예외가 발생하는지 확인하고, 그렇지 않은 경우에는 실패합니다.

결론

pytest의 assert문과 예외 처리를 통해 코드의 품질을 향상시키고, 예상대로 작동하는지 확인하는 데 도움을 줄 수 있습니다. 이러한 기능들을 적절히 활용하여 효율적인 테스트 케이스를 작성할 수 있습니다.

더 많은 정보는 pytest 공식 문서에서 확인할 수 있습니다.