[python] pytest-parametrize를 사용한 매개변수화된 테스트
테스트 코드를 작성할 때 입력값에 따라 여러 번의 테스트를 실행해야 하는 경우가 있습니다. 이때 pytest-parametrize를 사용하면 간단하게 매개변수화된 테스트를 작성할 수 있습니다. 이번 글에서는 pytest-parametrize를 사용하여 매개변수화된 테스트를 작성하는 방법에 대해 알아보겠습니다.
pytest-parametrize란?
pytest는 파이썬으로 작성된 테스트 프레임워크로, @pytest.mark.parametrize
데코레이터를 사용하여 여러 입력값에 대해 반복적으로 테스트를 실행할 수 있습니다.
예제 코드
아래는 간단한 덧셈 함수를 테스트하는 예제 코드입니다.
import pytest
def add(a, b):
return a + b
@pytest.mark.parametrize("a, b, expected", [
(1, 2, 3),
(0, 0, 0),
(-1, 1, 0),
])
def test_add(a, b, expected):
assert add(a, b) == expected
위 코드에서 @pytest.mark.parametrize
데코레이터를 사용하여 test_add
함수에 여러 입력값을 전달하고, 각각의 경우에 대해 add
함수의 결과가 예상값과 일치하는지 테스트합니다.
실행 및 결과
위 코드를 포함한 테스트 파일을 실행하면, 각 입력값에 대해 해당 테스트가 반복적으로 실행되며 결과가 출력됩니다.
결론
pytest-parametrize를 사용하면 입력값에 대해 여러 테스트를 간편하게 작성할 수 있습니다. 이를 통해 반복적인 코드를 줄이고, 더 많은 경우에 대해 테스트할 수 있는 유연한 테스트 코드를 작성할 수 있습니다.
더 많은 정보와 사용 예제는 pytest 공식 문서에서 확인할 수 있으니 참고하시기 바랍니다.
내부 링크: pytest 공식 문서
이상으로 파이썬에서 pytest-parametrize를 사용한 매개변수화된 테스트에 대해 알아보았습니다.