我有以下 pytest 脚本,并且该side_effect
值[2, 6]
没有被迭代。它总是卡2
在 test 函数test_my_function
中。
我的问题是:
如何使值与函数中的测试用例side_effect
一起迭代。(假设我们必须使用)。parametrize
test_my_function
parametrize
#!/usr/bin/env python3
#
import pytest
def my_function(x):
return x*2
@pytest.fixture
def mock_my_function(mocker):
mocker.patch(
__name__ + ".my_function", side_effect=[2, 6]
)
@pytest.mark.parametrize("input, expect", [(1, 2), (3, 6)])
def test_my_function(input, expect, mock_my_function):
assert expect == my_function(input)