16-Python之路-進(jìn)階-單元測(cè)試

為什么要測(cè)試

  • 程序開(kāi)發(fā)流程一般階段:需求分析沿猜、設(shè)計(jì)階段敌蚜、實(shí)現(xiàn)階段接谨、測(cè)試階段
  • 測(cè)試階段是通過(guò)人工或自動(dòng)運(yùn)行來(lái)測(cè)試某些功能蛇尚。目的為了檢驗(yàn)其是否滿足需求芽唇,以弄清楚預(yù)期結(jié)果和實(shí)際結(jié)果之間的差別

測(cè)試分類(lèi)

  • 單元測(cè)試:對(duì)單獨(dú)的代碼塊(函數(shù)、類(lèi))分別進(jìn)行測(cè)試取劫,以保證其的穩(wěn)定性
  • 集成測(cè)試:對(duì)大量的程序單元的協(xié)同工作情況做測(cè)試
  • 系統(tǒng)測(cè)試:同時(shí)對(duì)整個(gè)系統(tǒng)的正確性進(jìn)行檢查匆笤,而不是針對(duì)獨(dú)立的片段

什么是單元測(cè)試

  • 在實(shí)際開(kāi)發(fā)中,代碼通過(guò)編譯谱邪,只是說(shuō)明它的語(yǔ)法正確疚膊,功能實(shí)現(xiàn)不能保證。因此在完成某些功能后虾标,為了檢驗(yàn)是否滿足程序的需求寓盗」嘧可以通過(guò)編寫(xiě)測(cè)試代碼,模擬程序運(yùn)行過(guò)程傀蚌,檢驗(yàn)功能代碼是否符合預(yù)期
  • 單元測(cè)試實(shí)際上就是一些“ 斷言 (assert)”代碼

常用的斷言方法

方法 功能
assertEqual 如果兩個(gè)值相等基显,則pass
assertNotEqual 如果兩個(gè)值不相等,則pass
assertTrue 判斷bool值為T(mén)rue,則pass
assertFalse 判斷bool值為False,則pass
assertIsNone 不存在善炫,則pass
assertIsNotNone 存在撩幽,則pass

基本寫(xiě)法

  • 先定義一個(gè)類(lèi),繼承自u(píng)nittest.TestCase
import unittest
class TestClass(unitest.TestCase)
    pass
  • 其次箩艺,在測(cè)試類(lèi)中窜醉,定義兩個(gè)測(cè)試方法
import unittest
class TestClass(unitest.TestCase)
    pass
    # 該方法會(huì)首先執(zhí)行,方法名為固定寫(xiě)法
    def setUp(self):
        pass
        
    # 該方法會(huì)在測(cè)試代碼執(zhí)行完后執(zhí)行艺谆,方法名為固定寫(xiě)法
    def tearDown(self):
        pass
        
  • 最后榨惰,在測(cè)試類(lèi)中,編寫(xiě)測(cè)試代碼
import unittest
class TestClass(unitest.TestCase)
    pass
    # 該方法會(huì)首先執(zhí)行静汤,方法名為固定寫(xiě)法
    def setUp(self):
        pass
        
    # 該方法會(huì)在測(cè)試代碼執(zhí)行完后執(zhí)行琅催,方法名為固定寫(xiě)法
    def tearDown(self):
        pass
    # 測(cè)試代碼  
    def test_app_exists(self):
        pass

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市虫给,隨后出現(xiàn)的幾起案子藤抡,更是在濱河造成了極大的恐慌,老刑警劉巖抹估,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缠黍,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡药蜻,警方通過(guò)查閱死者的電腦和手機(jī)嫁佳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)谷暮,“玉大人蒿往,你說(shuō)我怎么就攤上這事∈遥” “怎么了瓤漏?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)颊埃。 經(jīng)常有香客問(wèn)我蔬充,道長(zhǎng),這世上最難降的妖魔是什么班利? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任饥漫,我火速辦了婚禮,結(jié)果婚禮上罗标,老公的妹妹穿的比我還像新娘庸队。我一直安慰自己积蜻,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布彻消。 她就那樣靜靜地躺著竿拆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宾尚。 梳的紋絲不亂的頭發(fā)上丙笋,一...
    開(kāi)封第一講書(shū)人閱讀 51,727評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音煌贴,去河邊找鬼御板。 笑死,一個(gè)胖子當(dāng)著我的面吹牛牛郑,可吹牛的內(nèi)容都是我干的怠肋。 我是一名探鬼主播,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼井濒,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了列林?” 一聲冷哼從身側(cè)響起瑞你,我...
    開(kāi)封第一講書(shū)人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎希痴,沒(méi)想到半個(gè)月后者甲,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡砌创,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年虏缸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嫩实。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡刽辙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出甲献,到底是詐尸還是另有隱情宰缤,我是刑警寧澤,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布晃洒,位于F島的核電站慨灭,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏球及。R本人自食惡果不足惜氧骤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吃引。 院中可真熱鬧筹陵,春花似錦刽锤、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至吕粗,卻和暖如春纺荧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背颅筋。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工宙暇, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人议泵。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓占贫,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親先口。 傳聞我的和親對(duì)象是個(gè)殘疾皇子型奥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容