Junit -- 白盒測(cè)試
????步驟:
????????1 定義一個(gè)測(cè)試類(測(cè)試用例)
????????????建議:
????????????????測(cè)試類名: 被測(cè)試的類名Test? ? ? CalculaterTest
????????????????包名: xxx.xxx.xx.test? ? ? ? cn.itcast.test
????????2 定義測(cè)試方法: 可以獨(dú)立運(yùn)行
????????????建議:
????????????????方法名: test測(cè)試的方法名? ? testAdd()
? ? ? ? ? ? ? ? 返回值: void
????????????????參數(shù)列表: 空參
????????3 給方法加@Test
????????4 導(dǎo)入junit 依賴包饵骨,需要hamcrest和junit兩個(gè)jar包
????????????hamcrest:
????????????????http://qa-gov.cn.lab/nexus/repository/maven-public/org/hamcrest/hamcrest/2.2/hamcrest-2.2.jar
????????????junit:
????????????????http://qa-gov.cn.lab/nexus/repository/maven-public/junit/junit/4.13/junit-4.13.jar
????????????網(wǎng)絡(luò)版:
????????????????http://central.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
????????????????http://central.maven.org/maven2/junit/junit/4.12/junit-4.12.jar
判定結(jié)果:
????紅色: 失敗
????綠色: 成功
????一般我們會(huì)使用斷言操作來(lái)處理結(jié)果
????????Assert.assertEquals(期望結(jié)果笼蛛,實(shí)際結(jié)果)
注解補(bǔ)充:
????@Test: 將一個(gè)普通的方法修飾成為一個(gè)測(cè)試方法
????????@Test(expected=ArithmeticException.class) -> 可以捕獲一個(gè)算術(shù)異常
????????@Test(timeout=毫秒) ->指定一個(gè)case的運(yùn)行時(shí)長(zhǎng)播聪, 防止死循環(huán)
????@Before: 修飾的方法會(huì)在測(cè)試方法之前被自動(dòng)執(zhí)行
????@After:? 修飾的方法會(huì)在測(cè)試方法之后被自動(dòng)執(zhí)行
????@BeforeClass:? 修飾的方法會(huì)在所有方法被調(diào)用前被執(zhí)行曹货, 而且該方法是靜態(tài)的,所以當(dāng)測(cè)試類被加載后接著就會(huì)運(yùn)行它哆键,而且在內(nèi)存中它只會(huì)存在一份實(shí)例囊卜,比較適合加載配置文件
????@AfterClass: 修飾的方法通常用來(lái)對(duì)資源的清理耍铜,如關(guān)閉數(shù)據(jù)庫(kù)的連接
????@Ignore: 修飾的方法會(huì)被測(cè)試運(yùn)行器忽略
????@RunWith: 可以更改測(cè)試運(yùn)行器 org.junit.runner.Runner
覆蓋率:
????需要先修改coverage的data是被覆蓋的那個(gè)(不帶test的class)的路徑