prg*_*lop 11 python debugging unit-testing exception pycharm
python unittest运行器处理所有异常.我想用我的调试器来捕获它们.
有没有办法让我的unittest跑步者重新提高测试异常以终止进程?我想自己处理它们.
编辑:找到解决方案.
您可以创建unittest.TestSuite并调用debug()来运行要调试的测试 - 包括使用调试器捕获异常!
使用此模式可以轻松完成:
import unittest
class DebuggableTestCase(unittest.TestCase):
@classmethod
def debugTestCase(cls):
loader = unittest.defaultTestLoader
testSuite = loader.loadTestsFromTestCase(cls)
testSuite.debug()
class MyTestCase(DebuggableTestCase):
def test_function_that_fails(self):
raise Exception('test')
if __name__ == '__main__':
MyTestCase.debugTestCase()
Run Code Online (Sandbox Code Playgroud)
我知道这是一个旧线程,也许在提出问题时其中一些东西并不存在。但只为后人...
您可以unittest使用 py.test 作为测试运行器来运行您的测试。您将立即获得一些出色的功能。直接针对您的问题,有一些使用 py.test 进行调试的好方法,包括使用 PyCharm。
特别是为了调试任何失败,事后分析,使用 PyCharm - 你所要求的 - 你可以安装pytest-pycharm插件。
pip install pytest-pycharm
Run Code Online (Sandbox Code Playgroud)
(我在每个项目的 virtualenv 中工作,所以这对我来说没有缺点。我建议你也这样做。否则,请注意你正在全局安装它,并且这个插件将对使用这个 Python interpeter 的所有项目有效.)
也可以看看:
| 归档时间: |
|
| 查看次数: |
2140 次 |
| 最近记录: |