Код: Выделить всё
W0621: Redefining name 'page_views_and_downloads_provider_class_mock' from outer scope (redefined-outer-name)
< /code>
Вот упрощенный пример моего кода: < /p>
@pytest.fixture
def page_views_and_downloads_provider_class_mock(request) -> Iterator[MagicMock]:
cli_module = getattr(request, "param", None)
with patch.object(cli_module, 'PageViewsAndDownloadsProvider') as mock:
yield mock
@pytest.fixture
def page_views_and_downloads_provider_mock(
page_views_and_downloads_provider_class_mock: MagicMock
) -> MagicMock:
return page_views_and_downloads_provider_class_mock.return_value
Код: Выделить всё
@pytest.fixture
def page_views_and_downloads_provider_mock(
provider_class_mock: MagicMock
) -> MagicMock:
return provider_class_mock.return_value
< /code>
Я также попробовал дублировать код приспособления внутри каждого файла тестирования, как ниже, и это подавляет предупреждение, но вызывает много дублирования кода между файлами, которого я хочу избежать[email protected](name='page_views_and_downloads_provider_class_mock', autouse=True)
def _page_views_and_downloads_provider_class_mock() -> Iterator[MagicMock]:
with patch.object(cli_module, 'PageViewsAndDownloadsProvider') as mock:
yield mock
@pytest.fixture(name='page_views_and_downloads_provider_mock')
def _page_views_and_downloads_provider_mock(
page_views_and_downloads_provider_class_mock: MagicMock
) -> MagicMock:
return page_views_and_downloads_provider_class_mock.return_value
Подробнее здесь: https://stackoverflow.com/questions/797 ... me-warning