基本概念
1. test fixture
指:一個(gè)或多個(gè)測(cè)試用例執(zhí)行所需的前置條件,和測(cè)試完后的一些銷毀動(dòng)作。包括:setup和teardown
2. test case
單個(gè)測(cè)試用例,用于驗(yàn)證某一特定輸入的特定輸出
3. test suite
測(cè)試用例集,多個(gè)測(cè)試用例的組成
4. test runner
用來執(zhí)行測(cè)試用例
整個(gè)流程如下:
1. class繼承于unittest.TestCase,寫好TestCase,由TestLoader加載TestCase到TestSuite。如果:一個(gè)class中有3個(gè)test_xxx方法,最后在load到suite中時(shí)也有3個(gè)測(cè)試用例。
2. unittest.main()執(zhí)行,main會(huì)調(diào)用TextTestRunner中的run來執(zhí)行TestSuite。(也可自行添加需要執(zhí)行的用例到suite,然后通過runner來執(zhí)行)
3. 執(zhí)行結(jié)果輸出到控制臺(tái),或者可以設(shè)置其輸出到文件。
以Login接口為例(見圖),寫3個(gè)測(cè)試用例:
1. 登錄成功
2. 密碼錯(cuò)誤
3. 用戶不存在
如圖,在setup中聲明接口請(qǐng)求的url,login接口需要的valitoken也在setup中先請(qǐng)求到。
這里validate token和login的接口已經(jīng)一起封裝在global_inter文件中,但是測(cè)試數(shù)據(jù)是直接寫在測(cè)試用例中的。進(jìn)一步的優(yōu)化是把測(cè)試數(shù)據(jù)分離,在一個(gè)單獨(dú)的文件中去管理。