1.unittest簡介
unittest是python自帶的單元測試框架,不僅僅適用于單元測試,還可用于web端、appium、接口自動化測試用例的開發(fā)與執(zhí)行。
?文章來源地址http://www.zghlxwxcb.cn/news/detail-609686.html
2.unittest四大核心組件
1)TestCase: 測試用例類,用來定義用例函數(shù)
2)TestSuite: 測試套件,用于收集測試用例
3)TestRunner:測試用例運(yùn)行類,用來執(zhí)行測試用例,以測試套件為維度去執(zhí)行
4)TestFixture:測試腳手架(前置和后置),前置放條件,后置進(jìn)行清理工作
?文章來源:http://www.zghlxwxcb.cn/news/detail-609686.html
3.測試流程
1)先定義測試用例類,在測試用例類中寫測試方法
2) 定義測試套件,收集測試用例類或文件中的測試方法,放到測試套件中
3)定義用例運(yùn)行器,將收集好的測試套件放到用例運(yùn)行器中執(zhí)行,并收集測試結(jié)果
4)做好前置和后置
?
4.如何編寫測試用例
1)導(dǎo)入unittest模塊
?2)定義一個測試用例類:類名必須以Test開頭,并繼承unittest.TestCase
?3)添加setUp()、tearDown()函數(shù),即測試夾具
?4)定義測試方法:測試方法必須test開頭,必須寫在測試用例類里面
?5) 框架執(zhí)行入口 main方法: unittest.main(),會自動收集當(dāng)前py文件的測試用例,然后執(zhí)行
?
5.測試用例的內(nèi)容
1)前置條件(如果沒有可以不寫),如:sql語句執(zhí)行、數(shù)據(jù)庫創(chuàng)建、工具類的實(shí)例化等
2)測試步驟(業(yè)務(wù)邏輯),數(shù)據(jù)替換、數(shù)據(jù)驅(qū)動等
3)測試結(jié)果斷言,包括:相應(yīng)結(jié)果斷言、數(shù)據(jù)庫數(shù)據(jù)斷言
4)后置條件(如果沒有可以不寫),如:數(shù)據(jù)清理、數(shù)據(jù)庫連接關(guān)閉等
?
?6.前置和后置(測試夾具)
1)函數(shù)級別
setUp():前置,每個用例函數(shù)執(zhí)行前,執(zhí)行一次
tearDown():后置,每個用例函數(shù)執(zhí)行后,執(zhí)行一次
就像夾心餅干一樣,前置后置相當(dāng)于兩片夾奶油的餅干,中間夾的奶油就相當(dāng)于用例
代碼示例:
?運(yùn)行結(jié)果:
2)類級別
setUpClass(cls):前置,當(dāng)前用例類中所有測試用例執(zhí)行前,執(zhí)行一次
tearDownClass(cls):后置,當(dāng)前用例類中所有測試用例執(zhí)行后,執(zhí)行一次
代碼示例:
運(yùn)行結(jié)果:
?
?7.用例的收集方式
1)以為測試用例為維度
2)以測試類為維度
?3)以模塊為維度
?
?
?
?
到了這里,關(guān)于單元測試框架之unittest詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!