回答:
pytest-ipdbは残念ながらサポートされなくなりました。
解決策は実行することです
pytest my_test.py --pdb --pdbcls=IPython.terminal.debugger:Pdb
ヘルプコマンドから:
pytest -h
--pdb start the interactive Python debugger on errors.
--pdbcls=modulename:classname
start a custom interactive Python debugger on errors.
For example:
--pdbcls=IPython.terminal.debugger:TerminalPdb
違いは、TerminalPdbがエラーをスローするように見えるだけですが、Pdbはスローしないようです(Ipython docs)。
TerminalPdb
は再び機能し、タブ補完を提供するための推奨ソリューションです。
2019-11の時点で、ここでそれを修正する必要があります:
pip install ipdb gnureadline ptpython
export PYTEST_ADDOPTS='--pdb --pdbcls=IPython.terminal.debugger:Pdb'
prompt-toolkit
バージョンをインストールすると2.0.10
、ipdbは再び正常に動作します。これは、このパッケージの3.0.0への最近の更新が原因で機能しなくなるためです
addopts = -s
、pytest.ini
ファイルに追加します。