文 | caesar
永遠(yuǎn)不安分占拍。
前言
??JUnit是一個(gè)Java語(yǔ)言的單元測(cè)試框架。Junit測(cè)試是程序員測(cè)試,即所謂白盒測(cè)試逢艘,因?yàn)槌绦騿T知道被測(cè)試的軟件如何(How)完成功能和完成什么樣(What)的功能丈牢。Junit是一套框架祭钉,繼承TestCase類,就可以用Junit進(jìn)行自動(dòng)測(cè)試了己沛。
黑盒測(cè)試&白盒測(cè)試
黑盒測(cè)試
??黑盒慌核,顧名思義就是:把測(cè)試對(duì)象看作一個(gè)不能打開的黑盒子。測(cè)試時(shí)申尼,測(cè)試人員完全不用考慮盒子里面的邏輯結(jié)構(gòu)和具體運(yùn)作垮卓,只依據(jù)程序的需求規(guī)格說(shuō)明書,檢查程序的功能是否符合它的功能說(shuō)明师幕,檢驗(yàn)輸出結(jié)果對(duì)不對(duì)粟按。黑盒測(cè)試不需要編寫代碼,是通過(guò)測(cè)試輸出的值與預(yù)期值是否相同來(lái)判斷霹粥。
白盒測(cè)試
??與黑盒恰恰相反灭将,這種方法是把測(cè)試對(duì)象看作一個(gè)打開的透明盒子。測(cè)試時(shí)后控,測(cè)試人員會(huì)利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息庙曙,通過(guò)在不同點(diǎn)檢查程序狀態(tài),檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求進(jìn)行正確工作浩淘。白盒測(cè)試需要編寫代碼來(lái)測(cè)試矾利。
白盒測(cè)試流程
步驟:
?? ##1. 定義一個(gè)測(cè)試類(測(cè)試用例)
????建議:
??????測(cè)試類名:被測(cè)試的類名+Test eg.CalculatorTest
??????包名:xxx.xxx.xxx.Test eg.cn.itcast.test
??##2. 定義測(cè)試方法(可獨(dú)立運(yùn)行,形如main方法可以運(yùn)行)
????建議:
??????方法名:test+測(cè)試的方法
??????返回值:void
??????參數(shù):空參
??##3. 給方法加@Test馋袜, 使其具有獨(dú)立運(yùn)行的能力
??##可選: 4. @init男旗、 @destory
??????@init: 初始化方法,在Junit類所有方法前執(zhí)行欣鳖,一般用來(lái)執(zhí)行申請(qǐng)資源等操作察皇。
??????@destory: 銷毀方法,在Junit類所有方法后執(zhí)行泽台,一般用來(lái)釋放資源什荣。
??##可選: 5. @before、 @after
??????@before: 修飾的方法會(huì)在測(cè)試方法之前被自動(dòng)執(zhí)行怀酷,一定執(zhí)行稻爬。
??????@after: 修飾的方法會(huì)在測(cè)試方法之后被自動(dòng)執(zhí)行,一定執(zhí)行蜕依。
判定結(jié)果:
??紅色: 失敗
??綠色: 成功
??一般會(huì)使用斷言操作來(lái)處理結(jié)果
????Assert.assertEquals(期望結(jié)果桅锄, 運(yùn)算的結(jié)果);