Когда я запускаю pytest в отладчике vscode с установленным флажком «Неперехваченные исключения» и есть ошибки теста, неперехваченных исключений не происходит, потому что pytest перехватывает их и отправляет отчеты о результатах. Как я могу сказать pytest, чтобы исключение происходило просто так? Чтобы я мог поймать их в отладчике vscode?
В основном мне нужно поведение, подобное --pdb
, но я хочу, чтобы он запускал отладчик vscode, а не pdb. Флаг --pdbcls
звучит многообещающе, но не уверен, что <module>:<class>
ему дать.
Примечание: Обычно я бы просто отключил его при возникновении исключений. Но в нашем коде есть множество исключений, которые возникают, но обнаруживаются, поэтому этот параметр бесполезен.
Вот видео, в котором vscode не срабатывает при срабатывании AssertionError во время отладки теста pytest:
@rioV8's suggestion below does break the on the exception, but for some reason there is no stack which means you can't debug from there:
введите описание изображения здесь
Мне, должно быть, чего-то не хватает, потому что, похоже, эта возможность никому не нужна. Но мне это кажется абсолютно c самой простой вещью, которую можно сделать с помощью тестовой среды и отладчика: как разработчик я хочу отлаживать с момента возникновения ошибки.
Должен быть совершенно другим способом, которым люди используют отладчик с pytest, это очевидная техника, которую я упускаю.