欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pytest官方文檔解讀Fixture?errors拋錯(cuò)解決

 更新時(shí)間:2022年06月02日 08:39:25   作者:把蘋果咬哭的測(cè)試筆記  
這篇文章主要為大家介紹了pytest官方文檔解讀Fixture?errors拋錯(cuò)后的解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

既然fixtures函數(shù)也是咱們自己寫的,那難免會(huì)發(fā)生異常,當(dāng)fixture函數(shù)異常后,pytest中如何處理呢?

首先,在pytest中,如果一個(gè)測(cè)試函數(shù)中傳入了多個(gè)fixture函數(shù),那么pytest會(huì)盡可能的按線性順序先后執(zhí)行。
如果,先執(zhí)行的fixture函數(shù)有問(wèn)題引發(fā)了異常,那么pytest將會(huì)停止執(zhí)行這個(gè)測(cè)試函數(shù)的fixture,并且標(biāo)記此測(cè)試函數(shù)有錯(cuò)誤。

但是,當(dāng)測(cè)試被標(biāo)記為有錯(cuò)誤時(shí),并不是說(shuō)這個(gè)測(cè)試函數(shù)的結(jié)果失敗了,這僅僅意味著測(cè)試函數(shù)所依賴的fixture有問(wèn)題,
導(dǎo)致測(cè)試函數(shù)不能正常進(jìn)行。

所以,這就引出了另一個(gè)值得關(guān)注的點(diǎn):fixture雖靈活好用,切記不要濫用。

在實(shí)際應(yīng)用中,要盡可能的減少不必要的依賴關(guān)系。這樣的話,測(cè)試函數(shù)就不會(huì)因?yàn)槠渌幌嚓P(guān)的問(wèn)題,導(dǎo)致自己不能正常運(yùn)行。

結(jié)合代碼示例,進(jìn)一步了解:

import pytest
@pytest.fixture
def order():
    return []
@pytest.fixture
def append_first(order):
    order.append(1)
@pytest.fixture
def append_second(order, append_first):
    order.extend([2])
@pytest.fixture(autouse=True)
def append_third(order, append_second):
    order += [3]
def test_order(order):
    assert order == [1, 2, 3]

首先聲明,這段代碼是可以正常運(yùn)行的,測(cè)試函數(shù)test_order也是正常通過(guò)的。

假設(shè),不管怎樣,在order.append(1)處總會(huì)報(bào)錯(cuò)。這時(shí)候,我們其實(shí)無(wú)法確定order.extend([2])或order +=[3]是否也有問(wèn)題。

在append_first報(bào)錯(cuò)拋出異常后,pytest就不會(huì)繼續(xù)運(yùn)行任何的fixture函數(shù)了,就連測(cè)試函數(shù)test_order本身也不會(huì)運(yùn)行。

以上就是pytest官方文檔解讀Fixture errors拋錯(cuò)解決的詳細(xì)內(nèi)容,更多關(guān)于pytest Fixture errors拋錯(cuò)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論