2016-02-07 43 views
0

說我有,我想分享的大部分我的測試夾具:如何手動觸發重新執行共享py.test夾具?

@pytest.fixture(scope='session') 
def account(): 
    # create a new account 
在測試中的一個

但現在,我想覆蓋scope='session'位和實際上有夾具重新執行(創建一個新帳戶)。有沒有辦法告訴夾具只爲一次測試「重寫緩存/記憶」?

回答

0

只需從測試手動調用機器會導致其重新執行。例如

def test_foo(): 
    new_account = account() 
0

沒有試圖找出你的問題的答案,我認爲你的問題可以更容易地解決。只要分析出帳戶創建到另一個功能,寫兩個夾具:

def create_account(): 
    return 'account' 

@pytest.fixture(scope='session') 
def account(): 
    return create_account() 

@pytest.fixture(scope='something else'): 
def another_account(): 
    return create_account()