我有這個autouse夾具,將每個測試創建一個實例的webdriver:pytest - 有沒有辦法忽略一個autouse fixture?
@pytest.fixture(autouse=True)
def use_phantomjs(self):
self.wd = webdriver.PhantomJS()
yield
self.close_wd()
然而,我們的一些測試不能PhantomJS運行,由於使用我們的API的一個錯誤。這些測試只能在Chrome瀏覽器(或Firefox)中運行,所以我創造了另一個方法適用於使用Chrome一個webdriver的實例:
def use_chrome(self):
self.wd = webdriver.Chrome()
,我打算在這些測試中使用,但我不能圍繞autouse燈具得到以上。
有沒有辦法以某種方式覆蓋我們的一些測試autouse夾具?我已經嘗試過爲每個測試使用pytest.mark.usefixtures
,但是在每個測試中都必須放置這個裝飾器似乎並不理想。有人提到使用元類,但我還沒有完全理解它們是如何工作的,所以我想知道是否有其他方法可能會錯過。
感謝@saurabh baid一樣,我一直在使用夾具上的需求作爲你下面說嘗試,但它似乎太重複,並且不必在每次測試中都放置燈具。 – banx