2014-01-17 75 views
1

我有使用funcargs在我的測試:pytest。執行所有拆卸模塊

def test_name(fooarg1, fooarg2):

個個都pytest_funcarg__工廠,返回request.cached_setup,所以個個都安裝/拆卸部分。

有時我有一個fooarg2拆解的問題,所以我在這裏引發異常。在這種情況下,忽略所有其他teardowns(fooarg1.teardown,teardown_module等),然後轉到pytest_session已完成的部分。

pytest中是否有任何選項不會收集異常並執行所有剩餘的拆解功能?

回答

0

在您的拆卸功能中,您可以捕獲錯誤並進行打印。

def teardown(): # this is the teardown function with the error 
    try: 
     # the original code with error 
    except: 
     import traceback 
     traceback.print_exc() # no error should pass silently 
2

您使用pytest-2.5.1嗎? pytest-2.5,特別是issue287應該支持運行所有終結器,並重新提出第一個失敗的異常(如果有的話)。

+0

謝謝,那正是我需要的。看起來像我需要更新我的pytest。再次感謝 – user3205834

+0

如果此答案確實回答您的問題,也許您可​​以通過單擊綠色複選標記接受它?不僅如此,它會爲你贏得一些聲譽。 –