[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를 사용한 매개변수화된 테스트에 대해 알아보았습니다.