我想在不预先配置断点的情况下将PyCharm的内置Pytest运行程序与调试器一起使用。
问题是我的测试中的异常被Pytest捕获,因此PyCharm的post mortem调试器无法处理异常。
我知道使用断点有效,但我不想再进行两次测试。
在Unittest中找到了一种方法,我想知道Pytest中是否存在这样的东西。
答案 0 :(得分:9)
您使用的是pytest-pycharm插件吗?看起来它适合我。创建virtualenv,pip install pytest pytest-pycharm
,在PyCharm Edit configuration -> Python Interpreter
使用此virtualenv,然后使用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'