[파이썬] pytest 가상 환경과 함께 pytest 사용하기

가상 환경은 파이썬 프로젝트를 개발할 때 유용한 도구입니다. 가상 환경을 사용하면 프로젝트별로 독립적인 환경을 설정하여 의존성 충돌 문제를 해결할 수 있습니다. 이번 블로그 포스트에서는 pytest와 함께 가상 환경을 사용하여 테스트 코드를 작성하는 방법을 알아보겠습니다.

가상 환경 설정하기

우선 가상 환경을 설정하기 위해 다음 명령을 실행하여 가상 환경을 만듭니다.

python3 -m venv venv

위 명령을 실행하면 프로젝트 폴더에 venv라는 이름의 가상 환경이 생성됩니다.

가상 환경을 활성화하기 위해 다음 명령을 실행합니다.

venv\Scripts\activate.bat
source venv/bin/activate

가상 환경이 성공적으로 활성화되면 터미널 프롬프트가 가상 환경 이름으로 변경됩니다.

pytest 설치하기

가상 환경을 활성화한 상태에서 pytest를 설치합니다.

pip install pytest

테스트 코드 작성하기

이제 pytest와 가상 환경을 사용하여 테스트 코드를 작성해보겠습니다. 예를 들어, calculator.py라는 모듈을 테스트하는 코드를 작성해보겠습니다.

# calculator.py

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

def subtract(a, b):
    return a - b
# test_calculator.py

import pytest
from calculator import add, subtract

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

def test_subtract():
    assert subtract(5, 3) == 2
    assert subtract(10, 5) == 5

위 코드에서는 calculator.py 모듈의 addsubtract 함수를 테스트하는 두 개의 테스트 함수를 작성하였습니다. 각 테스트 함수에서는 assert문을 사용하여 예상 결과와 실제 결과를 비교합니다.

테스트 실행하기

가상 환경에서 pytest를 실행하여 테스트를 실행합니다. 터미널에서 다음 명령을 실행합니다.

pytest

결과는 다음과 같이 표시됩니다.

============================= test session starts ==============================
collected 2 items

test_calculator.py ..                                                     [100%]

============================== 2 passed in 0.01s ===============================

테스트가 성공적으로 통과되었다는 메시지가 표시됩니다.

결론

이번 블로그 포스트에서는 pytest와 가상 환경을 함께 사용하여 테스트 코드 작성하는 방법을 알아보았습니다. 가상 환경을 사용하면 의존성 문제를 해결하여 프로젝트를 더욱 안정적으로 개발할 수 있습니다. pytest를 이용하여 테스트 코드를 작성하면 코드의 품질을 향상시킬 수 있고 버그를 빠르게 발견할 수 있습니다. pytest와 가상 환경을 함께 사용하여 파이썬 프로젝트의 개발 생산성을 높이기 바랍니다.