我想将py.test
与Hunter结合在一起:
PYTHONHUNTER="module_startswith='foo'" py.test -s -k test_bar
不幸的是,猎人的输出(跟踪)不可见。
版本:
foo_cok_d@aptguettler:~$ py.test --version
This is pytest version 3.4.2, imported from /home/foo_cok_d/local/lib/python2.7/site-packages/pytest.pyc
setuptools registered plugins:
pytest-xdist-1.22.2 at /home/foo_cok_d/local/lib/python2.7/site-packages/xdist/looponfail.py
pytest-xdist-1.22.2 at /home/foo_cok_d/local/lib/python2.7/site-packages/xdist/plugin.py
pytest-forked-0.2 at /home/foo_cok_d/local/lib/python2.7/site-packages/pytest_forked/__init__.pyc
在更简单的(较小)的Virtualenv中起作用(相同的pytest版本,但没有插件)。
原因是什么?
如何调试?
我找到了一个工作。
如果我这两行,则-s
选项(for -capture = no) py.test
Works。
def test_when_the_moon_is_in_the_seventh_house(self):
+ import hunter
+ hunter.trace(module_startswith='modlink')
...
我会看到比赛,我很高兴。
解决源代码而不修改源代码的解决方案。
-
使用各自的pytest选项进行调试:
pytest -v --tb=long
-
在调试模式下运行程序在您的IDE中带有断点。
示例:如何在pycharm中调试。