我有以下代码
@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'
如何为嘲笑路径功能指定参数?
答案 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