Как организовать питестские приспособления, чтобы предотвратить предупреждение о переопределенном имени «переопределенноPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как организовать питестские приспособления, чтобы предотвратить предупреждение о переопределенном имени «переопределенно

Сообщение Anonymous »

У меня есть файл conftest.py в моих тестах Pytest, где я определяю несколько светильников. Некоторые светильники зависят от других и имеют одинаковые или очень похожие имена, которые запускают предупреждение Pylint: < /p>

Код: Выделить всё

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
Если я попытаюсь переименовать аргумент во втором матче, чтобы избежать предупреждения, как и ниже, я получаю ошибку во время тестирования, в которой говорится, что функция теста не использует приспособление с именем page_views_and_downloads_provider_class_mock .

Код: Выделить всё

@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
Я также попытался отключить предупреждение о пилинте во всем мире # pylint: disable = переосмыслить-outer-name , но это не отключило предупреждение.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... me-warning
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»