[파이썬] pytest 기본 테스트 작성하기

소개

pytest는 파이썬의 강력한 테스트 프레임워크입니다. 이 테스트 프레임워크를 사용하면 쉽고 간편하게 테스트를 작성하고 실행할 수 있습니다.

이번 블로그 포스트에서는 pytest의 기본 사용법과 기능에 대해 알아보겠습니다. 간단한 예제를 통해 pytest의 강력함을 경험해보세요!

설치

pytest를 사용하기 위해서는 먼저 파이썬 개발 환경에 pytest를 설치해야 합니다. 아래의 명령을 실행하여 pytest를 설치합니다.

$ pip install pytest

기본 테스트 작성하기

pytest를 사용하여 테스트를 작성할 때는 간단한 함수를 작성하고 이를 테스트하는 방식으로 진행합니다.

예를 들어, 간단한 계산기 함수를 작성하고 테스트하는 경우를 살펴보겠습니다.

# calculator.py
def add(a, b):
    return a + b
# test_calculator.py
import pytest
from calculator import add

def test_add():
    result = add(2, 3)
    assert result == 5

위의 예제에서는 add 함수를 작성하고, test_add라는 pytest 테스트 함수를 작성했습니다. test_add 함수 내에서 add 함수를 호출하여 결과값을 확인하는 방식으로 테스트를 진행합니다.

테스트 함수는 반드시 test_로 시작해야 하며, 테스트 결과를 판단하기 위해 assert문을 사용합니다. assert문은 결과값이 기대한 값과 일치하는지를 검증합니다.

테스트 실행하기

pytest는 테스트 파일을 자동으로 탐지하고 실행할 수 있습니다. 터미널에서 다음 명령을 실행하여 테스트를 실행할 수 있습니다.

$ pytest

pytest는 현재 디렉토리에서 test_로 시작하는 파일을 검색하여 테스트를 실행합니다. 테스트 파일에는 test_로 시작하는 테스트 함수들이 포함되어야 합니다.

테스트 실행 결과는 터미널에 출력되며, 테스트가 성공했을 경우 ‘OK’로 표시됩니다.

추가 기능

pytest는 여러 가지 추가 기능을 제공합니다. 이를 통해 테스트를 보다 유연하게 작성하고 관리할 수 있습니다. 일부 기능은 다음과 같습니다.

매개변수화된 테스트

pytest는 @pytest.mark.parametrize 데코레이터를 사용하여 테스트를 매개변수화할 수 있습니다. 이를 통해 한 번에 여러 가지 입력에 대한 테스트를 수행할 수 있습니다.

픽스처

테스트 함수에서 사용할 데이터를 미리 설정하고 공유할 수 있는 픽스처(fixture) 기능을 제공합니다. @pytest.fixture 데코레이터를 사용하여 픽스처를 작성하고, 테스트 함수에서 이를 사용할 수 있습니다.

테스트 커버리지

테스트 커버리지를 측정하여 코드의 어느 정도까지 테스트되었는지를 알 수 있습니다. pytest-cov 플러그인을 설치하여 이 기능을 사용할 수 있습니다.

자세한 내용은 pytest 공식 문서를 참조하세요.

마무리

pytest는 파이썬 테스트 작성을 더욱 쉽고 간편하게 만들어주는 강력한 도구입니다. 이번 블로그 포스트에서는 pytest의 기본 사용법과 몇 가지 추가 기능에 대해 알아보았습니다.

pytest를 사용하여 테스트를 작성하면 코드의 신뢰성을 높일 수 있으며, 버그를 더 쉽게 찾아낼 수 있습니다. 테스트 주도 개발(TDD) 방식을 적용하여 개발하면 보다 안정적이고 견고한 소프트웨어를 구축할 수 있습니다.

추가적인 pytest 기능과 사용법을 익혀보고, 테스트 작성에 익숙해지세요. 좋은 테스트는 훌륭한 소프트웨어를 만드는 첫 번째 단계입니다!