1

如何在 funcargs 函数中放入 pdb?以及如何在 funcargs 函数中查看 print 语句的输出?


我最初的问题包括以下内容,但事实证明我只是在检测错误的 funcarg。叹。

我试过:

print "hi from inside funcargs"

使用和不使用 -s 调用。

我试过:

import pytest
pytest.set_trace()

和:

import pdb
pdb.set_trace()

和:

raise "hi from inside funcargs"

没有产生任何输出或导致测试失败。

4

2 回答 2

2

首先想到的是 py.test -s

但默认情况下 funcargs 给你回溯和输出/错误 - 你使用什么插件?某事显然隐藏了它

例如对于程序

def pytest_funcarg__foo(request):
    print 'hi'
    raise IOError

def test_fun(foo):
   pass

一个 py.test 调用给了我 - funcarg 函数和文本中的回溯

于 2012-07-20T07:47:03.730 回答
1

要调试 funcarg:

def pytest_funcarg__myfuncarg(request):
    import pytest
    pytest.set_trace()
    ...

def test_function(myfuncarg):
    ...

然后:

python -m pytest test_function.py

正如Ronny回答的那样,查看 funcarg 的输出是pytest -s有效的。

于 2012-07-20T13:54:49.280 回答