得到結果:
OK!
測試通過,說明我們的構建器沒有問題!
現(xiàn)在我們來refactoring一下,考慮上面的類有什么問題?owner和balance不應該能直接被外界訪問的吧。把他們改成兩個私有變量,然后用2個get方法來讀取他們。盡管xp explore上建議連getxxx和setxxx方法也該測試,我個人是覺得這樣過于麻煩的:)所以省了。如果用get方法的話測試程序需要改變一下
改成形如:assertEquals("notyy",AccountA.getOwner());行了。
為account類增加2個get方法:
public String getOwner(){
return Owner;
}
public double getBalance(){
return Balance;
}
編譯,運行test.bat
OK!一次通過。咱們繼續(xù)。Account類可以給自己的帳戶里加錢(credit),方法形如 Account.credit(double aMoney);
先寫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);
}
無法編譯,因為account類沒有credit方法,咱們給他加個方法骨架:
public void credit(double aMoney){
}
編譯通過,運行test.bat,失。
“expected <200.0> but <100.0>”
現(xiàn)在實現(xiàn)credit方法,如下:
public void credit(double aMoney){
Balance+=aMoney;
}
再次編譯運行,OK。2 tests)
哇,轉眼寫了這么長的文章了:)
累了。明天再寫。
繼續(xù):)
再來實現(xiàn)扣減方法,和增加幾乎一樣,原樣處理。