【发布时间】:2018-01-10 15:42:06
【问题描述】:
我看到了这个问题:Can I debug with python debugger when using py.test somehow? 但是它并没有真正的帮助,因为我需要调试钩子,其中一些不是我写的,修改钩子的代码真的很麻烦。
另外,pytest 贯穿pipenv run。让他们一起工作已经很困难了。到目前为止,我还没有找到 pdb、pipenv 和 pytest 的组合,它们可以相互启动。
另一种方法是从我的代码中调用pytest.main(),但这意味着其他想要运行我的测试的人将不得不使用这个“蹦床”来运行其他测试。我可以忍受这个,但它仍然觉得它不应该是必要的。
【问题讨论】:
-
什么是
pipenv exec?文档中没有提到。 -
@georgexsh 抱歉,这是
pipenv run,与一些类似的工具混淆了,可能是bundler或类似的工具。我会解决这个问题。 -
为什么不能在 pdb 中使用断点?
-
@georgexsh 因为我需要获得root权限,所以编辑
/usr/lib/pythonX/site-packages中的文件?或者,更糟糕的是,试图发现pipenv安装pytest及其插件的位置......这对开发过程来说太麻烦了。 -
但是你可以控制测试用例文件,对吧?在测试用例中启动 pdb,在你感兴趣的钩子中设置断点,然后继续,pdb 稍后会中断。
标签: python virtualenv pytest pdb pipenv