2012-07-19 53 views
1

如何在funcargs函數中放入pdb?我怎樣才能看到funcargs函數中的打印語句的輸出?如何調試funcargs函數?


我原來的問題包括以下內容,但事實證明,我只是在梳理錯誤的funcarg。嘆。

我想:

print "hi from inside funcargs" 

使用和不使用-s調用。

我嘗試:

import pytest 
pytest.set_trace() 

和:

import pdb 
pdb.set_trace() 

和:

raise "hi from inside funcargs" 

無產生的任何輸出或造成測試失敗。

回答

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的作品。

2
想到的

第一件事就是py.test -s

但默認情況下funcargs給你回溯和輸出/錯誤 - 您使用什麼插件?事情顯然是隱藏它

例如用於節目

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

def test_fun(foo): 
    pass 

一個py.test電話給了我兩個 - 在funcarg功能的追蹤和文本