[파이썬] pytest 함수 단위에서의 테스팅

테스팅은 소프트웨어 개발의 중요한 부분이며, 버그를 줄이고 코드의 신뢰성을 높이는 데 도움이 됩니다. pytest는 파이썬에서 사용되는 인기있는 테스팅 프레임워크 중 하나로, 간편한 문법과 강력한 기능을 제공하여 함수 단위에서의 테스트 작성을 용이하게 해줍니다.

pytest 설치

pytest는 pip를 통해 간단하게 설치할 수 있습니다. 아래의 명령어를 사용하여 pytest를 설치합니다.

pip install pytest

함수 단위 테스트 작성하기

pytest를 사용하여 함수 단위에서의 테스트를 작성하는 것은 매우 간편합니다. 다음은 간단한 예제 코드입니다.

# math.py

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

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

위의 코드에서 add() 함수와 subtract() 함수를 테스트하기 위해 pytest를 사용할 수 있습니다. 아래는 테스트 파일의 예제입니다.

# test_math.py

import math

def test_add():
    assert math.add(2, 3) == 5
    assert math.add(0, 0) == 0
    assert math.add(-1, 1) == 0

def test_subtract():
    assert math.subtract(5, 3) == 2
    assert math.subtract(0, 0) == 0
    assert math.subtract(3, 5) == -2

위의 코드에서 test_add() 함수와 test_subtract() 함수는 pytest의 테스트 함수로 지정됩니다. 이 함수들은 math.py 파일에 있는 add()subtract() 함수의 동작을 검증합니다. 각 테스트 함수의 첫 번째 assert 문은 예상 결과와 함수 호출 결과가 일치하는지 확인합니다.

테스트 실행하기

pytest를 사용하여 작성한 테스트를 실행하기 위해서는 pytest를 명령어로 실행해야 합니다. 아래의 명령어를 사용하여 테스트를 실행합니다.

pytest

pytest는 현재 디렉토리의 모든 테스트 파일을 자동으로 찾아서 실행합니다. 테스트 결과를 상세히 보려면 -v 플래그를 사용할 수 있습니다.

추가적인 기능

pytest는 많은 추가적인 기능을 제공합니다. 예를 들어, 마크를 사용하여 특정 테스트를 실행하거나 스킵할 수 있고, 파라미터화된 테스트를 작성할 수도 있습니다. pytest는 여러분의 테스트 작성을 더욱 편리하게 해주는 다양한 기능들을 제공합니다.

결론

pytest를 사용하여 함수 단위에서의 테스트를 작성하면 코드의 신뢰성을 향상시킬 수 있습니다. 간편하고 강력한 기능을 제공하는 pytest는 파이썬 개발자들에게 추천되는 테스트 프레임워크입니다. 효과적인 테스트 작성을 통해 안정적이고 견고한 소프트웨어를 개발할 수 있습니다.