0
我有一個參數化pytest測試方法,test_1
。在爲此測試方法運行所有參數化案例之前,我想調用另一種方法tmp_db_uri
,它創建一個臨時數據庫並生成數據庫的uri。我只想調用一次該生成器,以便我可以對所有測試用例使用相同的臨時數據庫。我認爲如果我從夾具中調用它(db_uri
),那就可以做到這一點,因爲我認爲每個測試都會創建一次燈具,但是在這個測試中似乎夾具正在爲每個案例調用,並且一個新的每次都創建臨時數據庫。pytest參數化方法設置
這樣做的正確方法是什麼?有沒有辦法在所有案例運行之前運行此方法的設置,只使用一個tmp_db_uri
?我不希望臨時數據庫在整個測試模塊中閒逛 - 只是在這一個測試期間(清理由tmp_db_uri
上的上下文管理器處理)。
我現在有一些看起來與此類似:
@pytest.fixture
def db_uri(tmp_db_uri):
return tmp_db_uri
@pytest.mark.parameterize(("item1","item2"), ((1, "a"), (2, "b")))
def test_1(item1, item2, db_uri):
print("do something")
使用模塊級的燈具選擇最適合我的情況。謝謝! – LateCoder