10

ブレークポイントを事前に構成せずに、組み込みの PyCharm の Pytest ランナーをデバッガーと一緒に使用したいと思います。

問題は、テストの例外が Pytest によってキャッチされるため、PyCharm の事後分析デバッガーが例外を処理できないことです。

ブレークポイントの使用が機能することはわかっていますが、テストを 2 回実行したくありません。

Unittest でこれを行う方法を見つけました。このようなものが Pytest に存在するかどうかを知りたいです。

PyCharmで単体テストの例外をキャッチする方法はありますか?

4

1 に答える 1

13

pytest-pycharmプラグインを使用していますか? それは私のために働くように見えます。virtualenv を作成しpip install pytest pytest-pycharm、この virtualenv を PyCharm で使用してから、例Edit configuration -> Python Interpreterで実行します。Debug ...

import pytest

def test_me():
    assert None

if __name__ == '__main__':
    pytest.main(args=[__file__])

PyCharm デバッガーはassert Noneポイントで停止し、(<class '_pytest.assertion.reinterpret.AssertionError'>, AssertionError(u'assert None',), None)

編集

py.testに設定 Preferences > Tools > Python Integration Tools > Default test runnerします。それでRun > Debug 'py.test in test_me.py'

于 2014-09-03T10:31:47.597 に答える