pytests:获取错误函数不使用任何参数错误

时间:2019-07-05 06:41:46

标签: python pytest

我有以下代码

@pytest.fixture
def mock_path_functions(mocker, file_exists=True, file_size=10):
    mock_obj = mock.Mock()
    mock_obj.st_size = file_size
    mocker.patch("os.path.exists", return_value=file_exists)
    mocker.patch("os.stat", return_value=mock_obj)

@pytest.mark.usefixtures("mock_path_functions")
@ytest.mark.parametrize("file_exists,file_size", [(False, 0)])
def test_subscrition_handle_from_file_when_file_is_not_present():
    assert subscrition_handle_from_file("some path") == None

但是我遇到以下错误:

In test_subscrition_handle_from_file_when_file_is_not_present: function uses no argument 'file_exists'

如何为嘲笑路径功能指定参数?

1 个答案:

答案 0 :(得分:0)

我认为您只需要将参数传递给测试函数,例如

@pytest.mark.usefixtures("mock_path_functions")
@ytest.mark.parametrize("file_exists,file_size", [(False, 0)])
def test_subscrition_handle_from_file_when_file_is_not_present(
    file_exists, file_size
):
    assert subscrition_handle_from_file("some path") == None