pytest는 파이썬 테스트 프레임워크로, 효율적인 테스트 작성을 돕습니다. pytest를 사용하여 테스트 스위트를 구성하면 모듈, 클래스 또는 함수 별로 테스트를 그룹화하여 실행할 수 있습니다. 이 글에서는 pytest를 사용하여 테스트 스위트를 구성하는 방법에 대해 알아보겠습니다.
pytest.ini 파일 생성하기
테스트 스위트를 구성하기 전에 pytest.ini 파일을 생성해야 합니다. 이 파일은 pytest 설정을 저장하는 데 사용됩니다. 다음 명령을 통해 테스트 스위트를 실행하는 데 사용될 pytest.ini 파일을 생성할 수 있습니다.
$ touch pytest.ini
테스트 스위트 구성하기
모듈별 테스트 구성하기
각각의 모듈에 대해 별도의 테스트를 작성하려면 테스트 파일을 모듈과 동일한 디렉토리에 생성해야 합니다. 테스트 파일의 이름은 test_
로 시작해야 하며 .py
로 끝나야 합니다. 예를 들어, my_module.py
모듈을 테스트하는 테스트 파일은 test_my_module.py
로 이름이 지정되어야 합니다.
# test_my_module.py
def test_example():
assert 1 + 1 == 2
클래스별 테스트 구성하기
클래스별 테스트를 작성하려면 테스트 파일 안에 테스트를 포함한 클래스를 작성해야 합니다. 클래스는 Test
로 시작해야 하며, unittest.TestCase
클래스를 상속받아야 합니다. 예를 들어, my_class.py
클래스를 테스트하는 테스트 파일은 다음과 같이 작성할 수 있습니다.
# test_my_class.py
import pytest
from my_class import MyClass
class TestMyClass:
def test_method(self):
my_obj = MyClass()
assert my_obj.method() == 'Hello World'
함수별 테스트 구성하기
개별 함수를 테스트하려는 경우, 테스트 파일에 별도의 테스트 함수를 작성합니다. 테스트 함수는 test_
로 시작해야 하며, 검증과정에 사용되는 assert
문을 포함해야 합니다. 예를 들어, my_function
함수를 테스트하는 테스트 파일은 다음과 같이 작성할 수 있습니다.
# test_my_function.py
def test_my_function():
result = my_function(5)
assert result == 10
테스트 스위트 실행하기
pytest를 사용하여 테스트 스위트를 실행하려면 다음 명령을 실행합니다.
$ pytest
pytest는 테스트 스위트에 속한 모든 테스트를 찾아 실행합니다.
pytest는 테스트 파일 및 함수의 이름을 통해 자동으로 테스트 스위트를 구성합니다. 테스트 파일은 test_
로 시작해야 하며, 테스트 함수는 test_
로 시작해야 합니다. 실행 중 pytest는 테스트 결과를 상세하게 보여주며, 실패한 테스트의 이유를 자세히 설명합니다.
pytest를 사용하여 테스트 스위트를 구성하면 테스트를 구조화하고 관리하기 쉬워집니다. 테스트 스위트를 실행하면 테스트 커버리지를 확인하고 프로덕션 코드의 신뢰성을 높일 수 있습니다.