Точки останова в коде Python игнорируются, когда я запускаю «Отладочный тест» в VSCode.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Точки останова в коде Python игнорируются, когда я запускаю «Отладочный тест» в VSCode.

Сообщение Anonymous »

Каждый раз, когда я запускаю «Отладочный тест» (либо на панели тестирования, либо щелкая правой кнопкой мыши по краю слева от кода и выбирая его), тест выполняется нормально, но игнорирует точки останова.
Я настроил следующий раздел в файле launch.json для «Отладочного теста»:

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

        {
"name": "Python: Debug Tests",
"type": "debugpy",
"request": "launch",
"console": "integratedTerminal",
"justMyCode": false,  // Set to false to step into external libraries if necessary
"purpose": ["debug-test"],  // Enables this configuration for "Debug Test"
"program": "${workspaceFolder}/backend/tests",
"args": ["-m", "pytest", "--capture=no"]  // Run pytest with optional args (disable output capturing)
}
У меня есть следующий файл settings.json:

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

{
"python.testing.pytestArgs": [
"backend/tests"
],
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true,

}
Это результат запуска «Отладочного теста»:

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

/usr/bin/env /home/rolf/.virtualenvs/marquee/bin/python /home/rolf/.vscode-server/extensions/ms-python.debugpy-2024.10.0-linux-x64/bundled/libs/debugpy/adapter/../../debugpy/launcher 35459 -- /home/rolf/.vscode-server/extensions/ms-python.python-2024.14.1-linux-x64/python_files/vscode_pytest/run_pytest_script.py --rootdir=/home/rolf/marquee --capture=no
rolf@ubundev:~/marquee$  /usr/bin/env /home/rolf/.virtualenvs/marquee/bin/python /home/rolf/.vscode-server/extensions/ms-python.debugpy-2024.10.0-linux-x64/bundled/libs/debugpy/adapter/../../debugpy/launcher 35459 -- /home/rolf/.vscode-server/extensions/ms-python.python-2024.14.1-linux-x64/python_files/vscode_pytest/run_pytest_script.py --rootdir=/home/rolf/marquee --capture=no
Received JSON data in run script
Running pytest with args: ['-p', 'vscode_pytest', '--rootdir=/home/rolf/marquee', '--capture=no', '/home/rolf/marquee/backend/tests/test_gs_movie_db.py::test_get_movies']
============================= test session starts ==============================
platform linux -- Python 3.11.6, pytest-8.3.2, pluggy-1.5.0
rootdir: /home/rolf/marquee
plugins: anyio-4.4.0
collected 1 item

backend/tests/test_gs_movie_db.py F

=================================== FAILURES ===================================
Далее следует набор неудачных тестов, которые выходят за пределы моей точки останова (поэтому моя точка останова должна была сработать).
У меня нет Установлен «pytest-cov», присутствие которого было упомянуто как возможный виновник в другом сообщении.
Я попробовал проверить, используется ли профиль launch.json, изменив там аргументы и посмотрев если они также изменяются в журнале выполнения, что, похоже, не так (все еще используются те же параметры). Настройки из файла settings.json, похоже, используются.
Кроме того, можно вручную выбрать профиль «Отладочный тест» в разделе тестирования, но для него всегда отображается только один профиль по умолчанию. выбирать, даже если я добавлю в файл launch.json что-то еще с той же «целью»: «debug-test» (может быть, это не так работает?).
Я тоже пробовал очистка кеша Python и отладчика Python и перезапуск, но это ничего не меняет (кроме необходимости повторно выбирать правильный интерпретатор из моей виртуальной среды Python).
Когда я отлаживаю нормально, это работает хорошо, и все точки останова, которые я ожидаю достичь, активируют отладчик. Это обычный профиль отладки:

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

        {
"name": "Python: FastAPI with Uvicorn",
"type": "debugpy",
"request": "launch",
"module": "backend.api",
"cwd":"${workspaceFolder}",
"console": "integratedTerminal",
"env": {
"PYTHONPATH": "${workspaceFolder}"
},
"justMyCode": true
}
Я использую VSCode 1.93.1, расширение Python v2024.14.1, расширение Python Debugger v2024.10.0 (последние версии).
Еще одно Следует отметить, что я использую VSCode через сеанс SSH на локальной виртуальной машине.

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

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

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

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

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

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

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