VSCode + Pytest: ошибка: TypeError: невозможно прочитать свойство $ неопределенного значения

Я пытаюсь выполнить 2 очень простых модульных теста, следуя руководству @ https://code.visualstudio.com/docs/python/testing. Однако при попытке запустить модульные тесты я получаю сообщение об ошибке:

Ошибка: TypeError: невозможно прочитать свойство $ неопределенного значения

Я использую Windows 10, Python 3.7.4, использую последнюю версию VSCode.

При первой попытке запустить тесты (с использованием последней версии Pytest) я получил сообщение об ошибке «Ошибка: TypeError: невозможно прочитать свойство ‘$’ of undefined». Это привело меня к: https://github.com/microsoft/vscode-python/issues/6990

Затем я попытался использовать описанную команду pip для понижения версии Pytest до предыдущей версии (5.0.1). Однако команда pip не была распознана, поэтому я решил, что это то, что мне нужно было включить в VSCode перед использованием. Дальнейшие поиски в Google привели меня к выводу, что он должен быть включен по умолчанию при установке любой версии Python> 3.0. Затем я подумал, что ему может понадобиться расширение, поэтому я добавил расширение pip-packages в VSCode. Перезагрузка и повторная попытка — та же ошибка при переходе на более раннюю версию Pytest.

Дальнейшие поиски в Google привели меня к следующему: Как использовать pip с кодом Visual Studio, который указывает на инструкции по настройке системных переменных @ Как добавить в PYTHONPATH в Windows, чтобы он находил мои модули / пакеты?.

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

Я пошел по пути Venv, и после того, как у меня возникла куча проблем с его настройкой, я добился успеха и смог установить свой Venv в качестве интерпретатора, а также установить Pytest на Venv.

Я попытался снова выполнить тесты, теперь уже в Venv, и получил ту же ошибку, что и раньше. Это привело меня к следующему: https://github.com/microsoft/vscode-python/issues/6990

Я смог успешно понизить свой Pytest в Venv до 5.0.1, как было предложено в потоке github, затем перезапустил VScode и снова выполнил тест. Та же ошибка.

Мне не удалось найти никакой дополнительной информации — понижение версии Pytest, похоже, сработало для всех остальных.

Код, который я пытаюсь проверить:

inc_dec.py:

def increment(x): return x + 1 def decrement(x): return x — 1

Тестовые примеры, которые я пытаюсь выполнить:

pytest_test.py:

import inc_dec # The code to test def test_increment(): assert inc_dec.increment(3) == 4 def test_decrement(): assert inc_dec.decrement(3) == 4

Я ожидал, что первый модульный тест пройдет успешно, а второй — нет. Вместо этого я получаю сообщение об ошибке: Error: TypeError: Cannot read property ‘$’ of undefined

Вы вообще используете виртуальные среды Python? Возможно, вы перешли на pytest 5.0.1 в одной среде, но vscode использует другую.   —  person attard.andrew    schedule 11.09.2019

Я понизил версию pytest до 4.5, поскольку он отлично работал в другом моем проекте, и на самом деле он работает — не думаю, что мне нужно быть суперсовременным с pytest tbh   —  person attard.andrew    schedule 14.09.2019

@Willwsharp — это как бы связано с этим, я собираюсь обновить основную ветку через минуту!   —  person attard.andrew    schedule 16.09.2019

@HendrikF Спасибо за вклад! Скоро обновлю основную ветку.   —  person attard.andrew    schedule 16.09.2019

Источник: ledsshop.ru

Стиль жизни - Здоровье!