调试中pycharm / PyDev的pytest验尸例外(Debugging pytest pos

2019-07-17 16:12发布

我想与调试器一起使用PyCharm的内置Pytest亚军无需预配置断点。

问题是,在我的测试异常由Pytest抓住这样PyCharm的验尸调试器无法处理异常。

我知道使用断点的作品,但我宁愿不要运行两次我的测试。

发现了一种在单元测试要做到这一点,我想知道,如果这样的事情在Pytest存在。

有没有办法赶上单元测试与PyCharm例外?

Answer 1:

您是否使用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)

编辑

设置Preferences > Tools > Python Integration Tools > Default test runner ,以py.test。 然后Run > Debug 'py.test in test_me.py'



文章来源: Debugging pytest post mortem exceptions in pycharm/pydev