千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > python unittest控制用例的執(zhí)行順序

python unittest控制用例的執(zhí)行順序

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-07 17:42:22 1699350142

為什么要進(jìn)行順序控制呢?使用過(guò)testng的同學(xué)就知道,它相對(duì)于junit來(lái)說(shuō)有更強(qiáng)大的功能,其中的一個(gè)功能就是依賴測(cè)試。什么是依賴測(cè)試呢?簡(jiǎn)單的說(shuō)一下就是,A方法運(yùn)行時(shí),其中有個(gè)變量的取值是B方法的動(dòng)態(tài)產(chǎn)出值。這樣就必須先執(zhí)行B方法。testng的test方法有dependson屬性來(lái)制定方法的依賴。但是像python的unittet框架,他類似于junit,沒(méi)有依賴測(cè)試的功能。unittest的main()方法執(zhí)行用例的順序是按照測(cè)試類、測(cè)試方法的名字的ASCII順序來(lái)執(zhí)行測(cè)試方法。如果想要控制執(zhí)行順序,有以下兩種方式:

1、通過(guò)TestSuite按照順序添加想要執(zhí)行的方法

suite=unittest.TestSuite()

suite.addTest(TestBddClass("method_name_c"))

suite.addTest(TestBddClass("method_name_a"))

這樣方法的執(zhí)行順序就是先執(zhí)行method_name_c,在執(zhí)行method_name_a

這種方式的確定是,你必須要一個(gè)個(gè)手動(dòng)去添加,測(cè)試過(guò)程中,用例個(gè)數(shù)不可能很少,這樣就懵逼了吧??聪乱环N方式吧。

2、順應(yīng)testunit的執(zhí)行順序,就是通過(guò)控制方法名字來(lái)實(shí)現(xiàn)。

比如,我要執(zhí)行一個(gè)交易過(guò)程的接口測(cè)試,該過(guò)程包含兩個(gè)過(guò)程,一個(gè)是createOrder(創(chuàng)建訂單),一個(gè)是confirmOrder(確認(rèn)訂單),并且confirmOrder需要交易ID,而交易ID是createOrder接口的動(dòng)態(tài)產(chǎn)出,所以必須要先執(zhí)行createOrder。

如果名字是testCreateOrder和testConfirmOrder的話,那么肯定先執(zhí)行testConfirmOrder。怎么辦呢?那就改名字唄,比如test_a_CreateOrder,test_b_ConfirmOrder。

以上內(nèi)容為大家介紹了pythonunittest控制用例的執(zhí)行順序,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
python生成器函數(shù)

為什么叫生成器函數(shù)?因?yàn)樗S著時(shí)間的推移生成了一個(gè)數(shù)值隊(duì)列。一般的函數(shù)在執(zhí)行完畢之后會(huì)返回一個(gè)值然后退出,但是生成器函數(shù)會(huì)自動(dòng)掛起,然...詳情>>

2023-11-07 20:31:35
python 字典操作方法詳解

字典是一種通過(guò)名字或者關(guān)鍵字引用的得數(shù)據(jù)結(jié)構(gòu),key類型需要時(shí)被哈希,其鍵可以是數(shù)字、字符串、元組,這種結(jié)構(gòu)類型也稱之為映射。字典類型是P...詳情>>

2023-11-07 20:09:59
python 集合操作方法詳解

集合set集合用于包含一組無(wú)序的對(duì)象。與列表和元組不同,集合是無(wú)序的,也無(wú)法通過(guò)數(shù)字進(jìn)行索引。此外,集合中的元素不能重復(fù)。set和dict一樣,...詳情>>

2023-11-07 20:06:23
Python性能分析

python標(biāo)準(zhǔn)庫(kù)提供兩個(gè)代碼性能分析相關(guān)的模塊,即timeit和cProfile/profile。前者更適合測(cè)試簡(jiǎn)短的代碼片段,后者則可分析代碼片段乃至整體模塊...詳情>>

2023-11-07 19:23:11
python2中的Unicode Strings

從python2.0開始,就有一種新的數(shù)據(jù)類型UnicodeStrings,但是在python3的到來(lái),這個(gè)概念已經(jīng)被弱化了。python2.*的默認(rèn)編碼格式是ASCII碼,而py...詳情>>

2023-11-07 19:08:47