我想将 PyCharm 的内置 Pytest 运行器与调试器一起使用,而无需预先配置断点。
问题是我的测试中的异常被 Pytest 捕获,因此 PyCharm 的事后调试器无法处理异常。
我知道使用断点是可行的,但我不想运行我的测试两次。
在 Unittest 中找到了一种方法,我想知道 Pytest 中是否存在类似的东西。
我想将 PyCharm 的内置 Pytest 运行器与调试器一起使用,而无需预先配置断点。
问题是我的测试中的异常被 Pytest 捕获,因此 PyCharm 的事后调试器无法处理异常。
我知道使用断点是可行的,但我不想运行我的测试两次。
在 Unittest 中找到了一种方法,我想知道 Pytest 中是否存在类似的东西。
你在使用pytest-pycharm插件吗?看起来它对我有用。创建 virtualenv,pip install pytest pytest-pycharm
在 PyCharm 中使用这个 virtualenv,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'