即使使用`py.test -s'也没有输出



我想将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')
        ...

我会看到比赛,我很高兴。

解决源代码而不修改源代码的解决方案。

  1. 使用各自的pytest选项进行调试:

    pytest -v --tb=long

  2. 在调试模式下运行程序在您的IDE中带有断点。

示例:如何在pycharm中调试。

最新更新