日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python考试pass or fail_python-pytest学习(十二)-标记失败xfail

發(fā)布時(shí)間:2025/3/21 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python考试pass or fail_python-pytest学习(十二)-标记失败xfail 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、前言

當(dāng)用例a失敗的時(shí)候,如果用例b和用例c都是依賴于第一個(gè)用例的結(jié)果,那可以直接跳過用例b和c的測試,直接給他標(biāo)記失敗xfail

用到的場景,登錄是第一個(gè)用例,登錄之后的操作b是第二個(gè)用例,登錄之后操作c是第三個(gè)用例,很明顯三個(gè)用例都會(huì)用到登錄操作。

例,很明顯三個(gè)用例都會(huì)用到登錄操作。

如果登錄都失敗了,那后面2個(gè)用例就沒測試必要了,直接跳過,并且標(biāo)記為失敗用例,這樣可以節(jié)省用例時(shí)間。

二、用例設(shè)計(jì)

pytest里面用xfail標(biāo)記用例未失敗的用例,可以直接跳過。實(shí)現(xiàn)基本思路:

1.把登錄寫為前置操作;

2.對(duì)登錄的用戶和密碼參數(shù)化,參數(shù)用canshu = [{"user":"admin","pws":"111"}]表示;

3.多個(gè)用例放到一個(gè)Test_xx的class里;

4.test_01,test_02,test_03全部調(diào)用fixture里面的login功能;

5.test_01測試登錄用例

6.test_02和test_03執(zhí)行前用if判斷登錄的結(jié)果,登錄失敗就執(zhí)行,pytest.xfail("登錄不成功,標(biāo)記為xfail")

importpytest

data= [{"user":"admin","psw":"111"},{"user":"","psw":""}]

@pytest.fixture(scope="module")deflogin(request):

user= request.param["user"]

psw= request.param["psw"]print("正在操作登錄,賬號(hào):%s,密碼:%s"%(user,psw))ifpsw:returnTrueelse:returnFalse

@pytest.mark.parametrize("login",data,indirect=True)classTest_xx():deftest_01(self,login):"""用例1登錄"""result=loginprint("用例1:%s"%result)assert result ==Truedeftest_02(self,login):

result=loginprint("用例2:%s"%result)if notresult:

pytest.xfail("登錄不成功,標(biāo)記為xfail")assert 1==1

deftest_03(self,login):

result=loginprint("用例3:%s"%result)if notresult:

pytest.xfail("登錄不成功,標(biāo)記為xfail")if __name__=="__main__":

pytest.main(["-s","test_05.py"])

運(yùn)行結(jié)果:

F用例1:False

test_05.py:16(Test_xx.test_01[login1])

False!=True

Expected :True

Actual :Falseself= login=Falsedeftest_01(self,login):"""用例1登錄"""result=loginprint("用例1:%s"%result)> assert result ==True

Eassert False ==True

test_05.py:21: AssertionError

x用例2:False

self= login=Falsedeftest_02(self,login):

result=loginprint("用例2:%s"%result)if notresult:> pytest.xfail("登錄不成功,標(biāo)記為xfail")

E _pytest.outcomes.XFailed: 登錄不成功,標(biāo)記為xfail

test_05.py:27: XFailed

x用例3:False

self= login=Falsedeftest_03(self,login):

result=loginprint("用例3:%s"%result)if notresult:> pytest.xfail("登錄不成功,標(biāo)記為xfail")

E _pytest.outcomes.XFailed: 登錄不成功,標(biāo)記為xfail

test_05.py:34: XFailed

[100%]

上面?zhèn)鞯牡卿泤?shù)是登錄成功的案例,三個(gè)用例全部通過;第二組參數(shù)登錄失敗,第一個(gè)用例就失敗了,用例2和3都沒執(zhí)行,直接標(biāo)記為xfail。

總結(jié)

以上是生活随笔為你收集整理的python考试pass or fail_python-pytest学习(十二)-标记失败xfail的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。