Настройка строгости проверки фикстур в PyCharm: Warning или Error

Настройка строгости проверки фикстур в PyCharm: Warning или Error

Если вы пишете тесты на pytest в PyCharm, то наверняка встречали подсветку кода, когда фикстура не передана явно в аргументы тестовой функции, но используется динамически — например, через request.getfixturevalue().

Многие думают, что PyCharm сразу показывает это как ошибку. На самом деле по умолчанию уровень проверки — Warning (жёлтое подчёркивание), а не Error (красное).

Где находится эта настройка

Инспекция называется:
Python → Fixture is not requested by test functions

Находится она в:
File → Settings → Editor → Inspections (или PyCharm → Preferences → Editor → Inspections на macOS).

Какое значение стоит по умолчанию

Сразу после установки PyCharm у этой проверки стоит Severity = Warning.

Это значит, что IDE обратит ваше внимание на потенциальную проблему, но не будет считать код сломанным. Сборка, запуск тестов и любые автоматические проверки (например, CI/CD) не прервутся из-за такого предупреждения.

Как изменить Warning на Error

Если в вашей команде договорились, что динамическое получение фикстур без явного указания в аргументах — это не просто неаккуратно, а именно ошибка, вы можете повысить уровень строгости:

  1. Откройте Editor → Inspections.
  2. Найдите инспекцию Fixture is not requested by test functions.
  3. В выпадающем списке Severity выберите Error.
  4. Нажмите Apply → OK.

Изменение строгости инспекции с Warning на Error

Что изменится после переключения

  • Жёлтое подчёркивание станет красным.
  • В окне инспекций (Alt+Enter) появится сообщение с уровнем «Error».
  • Если у вас настроен Code Analysis как этап CI, такой код начнёт считаться проблемой высокого уровня.

Стоит ли это делать

Чаще всего — нет. Использование request.getfixturevalue() — абсолютно валидный приём в pytest, особенно при создании параметризованных фикстур или динамических зависимостей. Намеренно делать эту проверку ошибкой — значит добавить лишнего шума в проект.

Но если в вашем проекте договорённость гласит, что все фикстуры должны быть явно указаны в сигнатуре теста, тогда повышение уровня до Error имеет смысл.

Резюме

  • ✅ По умолчанию: Warning (жёлтое подчёркивание).
  • ⚠️ Чтобы сделать Error — измените Severity вручную.
  • 🔧 Большинству проектов лучше оставить Warning или вовсе отключить проверку.

Актуально для PyCharm 2023–2025. Статья основана на реальных настройках инспекций IDE.

https://skr.sh/sc1JiH4G2v8

Scroll to top