得到結(jié)果:
OK!
測(cè)試通過(guò),說(shuō)明我們的構(gòu)建器沒(méi)有問(wèn)題!
現(xiàn)在我們來(lái)refactoring一下,考慮上面的類(lèi)有什么問(wèn)題?owner和balance不應(yī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)扣減方法,和增加幾乎一樣,原樣處理。