您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
JUnit+JMockit單元測試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2014/3/26 10:11:22 ] 推薦標(biāo)簽:單元測試 JUnit

  2.4 斷言
  對于需要測試的方法,用斷言來判斷其它執(zhí)行結(jié)果是否正確。
  assertEquals([Stringmessage],expected,actual)
  message是個(gè)可選的消息,將會(huì)在發(fā)生錯(cuò)誤時(shí)報(bào)告這個(gè)消息。
  expected是期望值,通常都是用戶指定的內(nèi)容。
  actual是被測試的代碼返回的實(shí)際值。
  如:
  booleansuccess=update();
  assertEquals(“更新是否成功”,true,success)
  這樣,當(dāng)運(yùn)行update()的返回值不為true的時(shí)候,這個(gè)單元測試會(huì)失敗。
  但有些時(shí)候,我們測試的方法并沒有返回值,方法只是執(zhí)行一個(gè)動(dòng)作,那么這個(gè)時(shí)候,我們不能用判斷的返回值來判斷方法是否執(zhí)行成功。
  如新建文件的方法,publicvoidcreateFile(StringfilePath),這個(gè)時(shí)候,方法并沒有返回值,我們在判斷方法是否執(zhí)行成功的時(shí)候,可以寫一個(gè)輔助方法,來檢查一下指定的文件是否新建成功了,以此來驗(yàn)證createFile()的準(zhǔn)備性。如:
  createFile(“d:/a.txt”);
  booleanexist=fileExist(“d:/a.txt”);
  assertEquals(“新建文件”,true,exist);
  3、JMockit
  當(dāng)我們在編寫單元測試的時(shí)候,常常會(huì)出現(xiàn)一些如調(diào)用的方法需要其它對象提供,而這個(gè)類現(xiàn)在又不具備,如很難創(chuàng)建、沒有環(huán)境、沒有開發(fā)完等情況,這個(gè)時(shí)候,我們需要用JMockit模擬出一個(gè)類,來滿足我們的需求,來完成我們核心功能的測試。
  3.1 pom中增加JMockit的依賴
<dependency>
<groupId>jmockit</groupId>
<artifactId>jmockit</artifactId>
<version>1.0</version>
<scope>test</scope>
</dependency>
  3.2 模擬對象
  如需要測試的一個(gè)方法的一個(gè)值是配置在misInitConfig.xml中的,而misInitConfig.xml中的值需要用ReadConfInfo.getPropery()來獲取,而ReadConfInfo是在應(yīng)用啟動(dòng)時(shí)初始化的,這個(gè)時(shí)候并沒有web環(huán)境,也不能初始化,而我們也不需要自己手動(dòng)初始化ReadConfInfo,因?yàn)槲覀儨y試的重點(diǎn)不是ReadConfInfo,而是我們現(xiàn)有的功能。這個(gè)時(shí)候,我們可以用JMockit模塊出ReadConfInfo,來完成此功能的測試。
/**
*模擬ReadConfInfo
*/
publicstaticvoidmockReadConfInfo(){
newMockUp<ReadConfInfo>(){
@Mock
publicStringgetPropery(StringpropertyName){
if("conf_loglevel".equals(propertyName)){
return"debug";
}elseif("conf_logfolder".equals(propertyName)){
return"log";
}else{
return"";
}
}
}
}
  在單元測試的@BeforCalss中初始化,
/**
*初始化環(huán)境
*/
@BeforeClass
publicstaticvoidinit()throwsException{
//模擬ReadConfInfo
mockReadConfInfo();
}
  這樣,我們可以在程序中使用ReadConfInfo.getPropery()來完成我們的功能了。

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd