Pytest-테스트 매개 변수화
테스트 매개 변수화는 여러 입력 세트에 대해 테스트를 실행하기 위해 수행됩니다. 다음 마커를 사용하여이를 수행 할 수 있습니다.
@pytest.mark.parametrize
아래 코드를 파일에 복사하십시오. test_multiplication.py −
import pytest
@pytest.mark.parametrize("num, output",[(1,11),(2,22),(3,35),(4,44)])
def test_multiplication_11(num, output):
assert 11*num == output
여기서 테스트는 입력에 11을 곱하고 결과를 예상 출력과 비교합니다. 테스트에는 4 세트의 입력이 있으며, 각각 2 개의 값이 있습니다. 하나는 11을 곱할 숫자이고 다른 하나는 예상 결과입니다.
다음 명령을 실행하여 테스트를 실행하십시오-
Pytest -k multiplication -v
위의 명령은 다음 출력을 생성합니다-
test_multiplication.py::test_multiplication_11[1-11] PASSED
test_multiplication.py::test_multiplication_11[2-22] PASSED
test_multiplication.py::test_multiplication_11[3-35] FAILED
test_multiplication.py::test_multiplication_11[4-44] PASSED
============================================== FAILURES
==============================================
_________________ test_multiplication_11[3-35] __________________
num = 3, output = 35
@pytest.mark.parametrize("num, output",[(1,11),(2,22),(3,35),(4,44)])
def test_multiplication_11(num, output):
> assert 11*num == output
E assert (11 * 3) == 35
test_multiplication.py:5: AssertionError
============================== 1 failed, 3 passed, 8 deselected in 0.08 seconds
==============================