Pytest 란?
테스트 코드 작성이 중요한 이유
라이브러리 의존성 추가
poetry add pytest pytest-asyncio httpx
파일 내에서 ‘test_’ 문자열로 시작하는 함수를 인식하여 실행합니다.
@pytest.mark.parameterize 데코레이터를 통해 테스트에 주입할 인자와 실제 값들을 정의할 수 있습니다.
test_list,expected 두 인자를 입력으로 받으며, [3, 5], 8, [1,2], 3으로 테스트 데이터가 입력됩니다.import pytest
# 일반 테스트 코드를 작성하는 경우
@pytest.mark.parametrize("test_list,expected", [([3, 5], 8),
([1, 2], 3)] )
def test_sum(test_list, expected):
assert sum(test_list) == expected
# 비동기 테스트 코드를 작성하는 경우
@pytest.mark.asyncio
@pytest.mark.parametrize("test_list,expected", [([3, 5], 8),
([1, 2], 3)] )
async def test_sum(test_list, expected):
assert sum(test_list) == expected