Отладчик тестов VSCode не останавливается на точках останова при использовании покрытияPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Отладчик тестов VSCode не останавливается на точках останова при использовании покрытия

Сообщение Anonymous »

Я начал использовать pytest-cov для создания отчетов о покрытии. Использование VSCode.
Вот как я настроил файл pytest.ini, чтобы каждый раз, когда я запускаю тесты из обозревателя тестов VSCode, отчет о покрытии обновлялся:

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

[pytest]
addopts = "--cov=src/ --cov-report=lcov:lcov.info --cov-report=term"
env =
TESTING=true
ENV=local
Но я также хочу иметь возможность отлаживать тесты и останавливаться на точках останова. Как сказано в документации VSCode

Примечание. Если у вас установлен модуль покрытия pytest-cov, VS Code не останавливается на точках останова во время отладки, поскольку pytest-cov используя ту же технику для доступа к запускаемому исходному коду. Чтобы предотвратить такое поведение, включите --no-cov в pytestArgs при отладке тестов, например, добавив "env": {"PYTEST_ADDOPTS": "--no-cov"} в вашу конфигурацию отладки. (О том, как настроить конфигурацию запуска, см. выше «Отладочные тесты».) (Дополнительную информацию см. в разделе «Отладчики и PyCharm» в документации pytest-cov.)

Итак, моя конфигурация для отладки тестов в launch.json такая:

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

        {
"name": "Python: Debug Tests",
"type": "debugpy",
"request": "launch",
"program": "${file}",
"purpose": [
"debug-test"
],
"console": "integratedTerminal",
"justMyCode": true,
// "justMyCode": false,
"env": {
"ON_HEROKU": "0",
"PYTEST_ADDOPTS": "--no-cov",
"ECHO_SQL_QUERIES": "1"
},
},
Тем не менее, при отладке тестов он не останавливается на точках останова, даже если я установил там переменную env PYTEST_ADDOPTS. Единственный способ заставить это работать — прокомментировать строку addopts в pytest.ini

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

[pytest]
# addopts = "--cov=src/ --cov-report=lcov:lcov.info --cov-report=term"
env =
TESTING=true
ENV=local
Как я могу заставить его вести себя так, как я хочу, без необходимости комментировать и раскомментировать эту строку в pytest.ini?

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

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

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

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

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

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

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