Pytest Vim Syntastic - избегайте переопределения предупреждений - PullRequest
0 голосов
/ 08 мая 2018

Я установил Syntastic в Vim для разработки на Python. Пока это было фантастически, но при написании тестов с импортированными pytest.fixture методами я получаю несколько фиктивных ошибок. Для контекста я использую Flask в Python. Но рассмотрим следующий test.py пример:

from common_stuff import app, client

def test_some_flask_think(client):
    # some test stuff

А в common_stuff.py:

@pytest.fixture
def client(app)
    return app.test_client()

Если они находятся в одном файле - никаких претензий от Syntastic. Однако в отдельном файле - не повезло. Ошибка F811 указана в каждом случае.

Кто-то, вероятно, сталкивался с тем же самым раньше. Буду очень признателен за советы / указатели здесь.

Спасибо!

1 Ответ

0 голосов
/ 09 мая 2018

Чтобы ответить на мой собственный вопрос, и в надежде любезно обучить других, кто может столкнуться с той же проблемой ...

Syntastic может использовать различные линтеры для Python. Значение по умолчанию, которое было настроено в моей системе, оказалось flake8. Я смог определить это, запустив :SyntasticInfo, когда в Vim был активен буфер Python.

Ошибка, отмеченная выше, имеет код F811, который также задокументирован в документе с кодом ошибки Flake 8 . После дополнительных исследований это может быть ошибка во Flake8 . Тем не менее, есть более идиоматическое решение с pytest, отмеченное в следующем SO post . Конкретный пример conftest.py можно найти в этой записи . В двух словах, common_stuff.py можно переименовать в conftest.py, импорт будет удален, и pytest соответствующим образом загрузит необходимые тестовые данные.

...