軟件測(cè)試 | 編寫(xiě)單元測(cè)試用例
開(kāi)發(fā)一個(gè)簡(jiǎn)單的計(jì)算器,用于計(jì)算兩個(gè)數(shù)的加、減、乘、除,功能代碼如下
使用unittest單元測(cè)試框架對(duì)Calculator類的方法進(jìn)行測(cè)試。在與module.py同級(jí)的目錄下創(chuàng)建test.py測(cè)試文件。
首先從感官上來(lái)看,通過(guò)unittest單元測(cè)試框架編寫(xiě)測(cè)試用例更加規(guī)范和整潔。我們來(lái)分析一下unittest單元測(cè)試框架的用法。
首先,通過(guò)import導(dǎo)入unittest單元測(cè)試框架。創(chuàng)建ModuleTest類繼承unittest.TestCase類。
setUp()和tearDown()兩個(gè)方法在單元測(cè)試框架中較為特別,它們分別在每一個(gè)測(cè)試用例的開(kāi)始和結(jié)束時(shí)執(zhí)行。serUp()方法用于測(cè)試用例執(zhí)行前的初始化工作,例如初始化變量、生成數(shù)據(jù)庫(kù)測(cè)試數(shù)據(jù)、打開(kāi)瀏覽器等。tearDown()方法用于測(cè)試用例執(zhí)行之后的善后工作,例如清楚數(shù)據(jù)庫(kù)測(cè)試數(shù)據(jù)、關(guān)閉文件、關(guān)閉瀏覽器等。
unittest要求測(cè)試用例(方法)必須以“test”開(kāi)頭。例如,test_add、test_sub等。
接下來(lái),調(diào)用unittest.TestSuite()類的addTest()方法向測(cè)試套件中添加測(cè)試用例。可以將測(cè)試套件理解為運(yùn)行測(cè)試用例的集合。
最后,通過(guò)unittest.TestTestRunner()類的run()方法運(yùn)行測(cè)試套件中的測(cè)試用例。
如果想默認(rèn)運(yùn)行當(dāng)前測(cè)試文件中的所有測(cè)試用例,則可以直接使用unittest所提供的main()方法。也就是程序中if_name_=="_main_":下面注釋的第一行代碼。main()方法默認(rèn)查找當(dāng)前文件中集成unittest.TestCase的測(cè)試類;在測(cè)試類下面匹配以“test”開(kāi)頭的方法,并執(zhí)行它們。
執(zhí)行代碼如下:
從執(zhí)行結(jié)果可以看到,點(diǎn)號(hào)“ . ”用來(lái)表示一條運(yùn)行通過(guò)的用例,總共運(yùn)行4條測(cè)試用例,用時(shí)0.000秒。
搜索微信公眾號(hào):TestingStudio霍格沃茲的干貨都很硬核