【问题标题】:Run pytest in PDB with pipenv使用 pipenv 在 PDB 中运行 pytest
【发布时间】:2018-01-10 15:42:06
【问题描述】:

我看到了这个问题:Can I debug with python debugger when using py.test somehow? 但是它并没有真正的帮助,因为我需要调试钩子,其中一些不是我写的,修改钩子的代码真的很麻烦。

另外,pytest 贯穿pipenv run。让他们一起工作已经很困难了。到目前为止,我还没有找到 pdbpipenvpytest 的组合,它们可以相互启动。


另一种方法是从我的代码中调用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


【解决方案1】:

我想这就是你需要的,尽早调用 pdb:

`pipenv --py` -c 'import pdb, pytest; pdb.set_trace(); pytest.main()'

【讨论】:

  • 有趣。这个星期天我得试试。
  • 抱歉,我最终添加了一个 __main__.py 文件,该文件暂时修复了它,但后来我在 Windows 上遇到了 pipenv 的一系列问题......目前,我'我不确定我是否会使用pipenv
猜你喜欢
  • 2020-03-30
  • 1970-01-01
  • 2018-11-29
  • 1970-01-01
  • 1970-01-01
  • 2019-06-06
  • 1970-01-01
  • 2018-03-12
  • 2019-06-28
相关资源
最近更新 更多