Пользовательские маркеры Pytest не отображаются в автозаполнении PyCharmPython

Программы на Python
Ответить
Anonymous
 Пользовательские маркеры Pytest не отображаются в автозаполнении PyCharm

Сообщение Anonymous »

Я пытаюсь настроить собственные маркеры pytest в своем проекте и хочу, чтобы они появлялись в раскрывающемся списке автозаполнения в PyCharm, когда я набираю @pytest.mark.. Однако отображаются только маркеры pytest по умолчанию (например,skip, xfail и т. д.). Мои пользовательские маркеры распознаются pytest (они появляются, когда я запускаю pytest --markers), но не отображаются при автозаполнении PyCharm.
Вот мой настройка:

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

conftest.py
:

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

import pytest

def pytest_configure(config):
config.addinivalue_line("markers", "variant: mark test to run only for specific variants")
config.addinivalue_line("markers", "do_not_dismiss_language_selector: mark test to skip dismissing the language selector after setup")

def pytest_collection_modifyitems(config, items):
options = get_options(config)
selected_items = filter_items(items, options)
deselected_items = [item for item in items if item not in selected_items]
if deselected_items:
config.hook.pytest_deselected(items=deselected_items)
items[:] = selected_items

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

pyproject.toml
:

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

[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-v --strict-markers"
markers = [
"variant: mark test to run only for specific variants",
"do_not_dismiss_language_selector: mark test to skip dismissing the language selector after setup"
]
В новом тестовом файле я попытался использовать пользовательские маркеры следующим образом:

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

import pytest

@pytest.mark.  # Autocomplete only shows default Pytest markers, not my custom ones
На данный момент я пробовал следующее:
  • Проверено с помощью pytest --markers: все пользовательские маркеры отображаются, поэтому pytest распознает их правильно.
  • Перезапуск PyCharm: после каждого изменения в conftest.py и pyproject.toml, я аннулировал кеши и перезапустил PyCharm.
  • Проверил интерпретатор Python: убедился, что PyCharm использует правильный виртуальной среде.
  • Протестировано как в pytest.ini, так и в pyproject.toml: я попробовал определить маркеры в обеих конфигурациях, чтобы проверить, один будет работать лучше.
  • Создал новый тестовый файл: я создал новый тестовый файл, чтобы проверить, распознает ли PyCharm имеющиеся там маркеры, но он этого не сделал. .
Среда:
  • Версия PyCharm: 2024.1.7
  • Версия Python: 3.10
    Версия Pytest: 7.4.4< /li>
Как заставить PyCharm распознавать мои пользовательские маркеры pytest при автозаполнении, когда я набираю @pytest.mark.?< /п>

Подробнее здесь: https://stackoverflow.com/questions/791 ... o-complete
Ответить

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

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

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

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

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