您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源單元測(cè)試工具 > junit
notyy的junit教程
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/1/7 15:37:57 ] 推薦標(biāo)簽:

  
  得到結(jié)果:
  
  OK!
  
  測(cè)試通過(guò),說(shuō)明我們的構(gòu)建器沒(méi)有問(wèn)題!
  
  現(xiàn)在我們來(lái)refactoring一下,考慮上面的類(lèi)有什么問(wèn)題?owner和balance不應(yīng)該能直接被外界訪(fǎng)問(wèn)的吧。把他們改成兩個(gè)私有變量,然后用2個(gè)get方法來(lái)讀取他們。盡管xp explore上建議連getxxx和setxxx方法也該測(cè)試,我個(gè)人是覺(jué)得這樣過(guò)于麻煩的:)所以省了。如果用get方法的話(huà)測(cè)試程序需要改變一下
  
  改成形如:assertEquals("notyy",AccountA.getOwner());行了。
  
  為account類(lèi)增加2個(gè)get方法:
  
  public String getOwner(){
  
  return Owner;
  
  }
  
  public double getBalance(){
  
  return Balance;
  
  }
  
  編譯,運(yùn)行test.bat
  
  OK!一次通過(guò)。咱們繼續(xù)。Account類(lèi)可以給自己的帳戶(hù)里加錢(qián)(credit),方法形如 Account.credit(double aMoney);
  
  先寫(xiě)testcredit
  
  public void testCredit(){
  
  AccountA=new Account("notyy",100);
  
  AccountB=new Account("bricks",200);
  
  AccountA.credit(100);
  
  //100+100=200
  
  assertEquals(200,AccountA.getBalance(),2);
  
  AccountB.credit(150);
  
  //200+150=350
  
  assertEquals(350,AccountB.getBalance(),2);
  
  }
  
  無(wú)法編譯,因?yàn)閍ccount類(lèi)沒(méi)有credit方法,咱們給他加個(gè)方法骨架:
  
  public void credit(double aMoney){
  
  }
  
  編譯通過(guò),運(yùn)行test.bat,失敗:
  
  “expected <200.0> but <100.0>”
  
  現(xiàn)在實(shí)現(xiàn)credit方法,如下:
  
  public void credit(double aMoney){
  
  Balance+=aMoney;
  
  }
  
  再次編譯運(yùn)行,OK。2 tests)
  
  哇,轉(zhuǎn)眼寫(xiě)了這么長(zhǎng)的文章了:)
  
  累了。明天再寫(xiě)。
  
  繼續(xù):)
  
  再來(lái)實(shí)現(xiàn)扣減方法,和增加幾乎一樣,原樣處理。

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