[python] pytest-ordering를 사용한 테스트 순서 지정

이번에는 pytest-ordering 플러그인을 사용하여 pytest 테스트 케이스의 실행 순서를 지정하는 방법에 대해 알아보겠습니다.

pytest-ordering이란?

pytest-ordering은 pytest에서 테스트 케이스의 실행 순서를 지정할 수 있게 해주는 패키지입니다. 이를 통해 종속성이 있는 테스트들을 순서대로 실행하거나, 빠르게 실패하는 테스트를 먼저 실행하여 피드백을 받을 수 있습니다.

pytest-ordering 설치

가장 먼저 pytest-ordering을 설치해야 합니다. 다음과 같이 pip를 사용하여 설치할 수 있습니다.

pip install pytest-ordering

pytest-ordering 사용하기

pytest-ordering을 사용하려면 각 테스트 케이스에 @pytest.mark.order(n) 데코레이터를 추가하면 됩니다. 여기서 n은 실행 순서를 나타내는 숫자입니다. 작은 숫자일수록 먼저 실행됩니다.

import pytest

@pytest.mark.order(1)
def test_first():
    assert True

@pytest.mark.order(2)
def test_second():
    assert True

@pytest.mark.order(3)
def test_third():
    assert True

위 코드에서 test_first는 1번, test_second는 2번, test_third는 3번으로 실행됩니다.

결론

pytest-ordering을 사용하면 테스트 케이스의 실행 순서를 명시적으로 지정할 수 있어서 종속성이 있는 테스트의 실행 순서를 보다 쉽게 관리할 수 있습니다.

더 많은 정보는 pytest-ordering 공식문서에서 확인할 수 있습니다.