My複利計算程式測試報告
4.0 單元測試-----------------------------
要求:
對我們和複利計算程式,寫單元測試。
有哪些場景?
期待的返回值
寫測試程式。
執行測試。
完成結果:
測試一:複利計算本息
1.期待的返回值是143004,實際值是143004.6710959476,允許有1以內的誤差。
2.測試程式:
1 package one; 2 import org.junit.Assert; 3 import org.junit.Before; 4 import org.junit.Test; 5 public class TestCalcuate { 6 Calcuate cal; 7 @Before 8 public void setUp() 9 { 10 cal =new Calcuate(); 11 } 12 @Test 13 public void testadd() 14 { 15 double amount = 10000 ; 16 double rate =0.03 ; 17 double year =10; 18 amount = amount * Math.pow(1.0 + rate, year); 19 Assert.assertEquals(143004, 143004.6710959476, 1.0); 20 } 21 }
當測試誤差允許1.0以內時,測試成功,測試結果如圖:
當誤差精確到0.0時,測試實際值和期待值不符,顯示測試錯誤。
單利計算的過程和複利相似。只附上圖片:
測試二:時間的測試
期待的返回值是23,實際值是23.449772250437736,當誤差在1以內時,測試成功。
測試程式:
package one; import org.junit.Assert; import org.junit.Before; import org.junit.Test; public class TestCalcuate { Calcuate cal; @Before public void setUp() { cal =new Calcuate(); } @Test public void testadd() { double rate =0.03 ; double amount2 =40000; double amount1=20000; double time; time= (Math.log(amount2/amount1)/Math.log(1+rate)); Assert.assertEquals(23, 23.449772250437736, 1.0); } }
測試成功如圖:
當允許出現的誤差為0時,測試錯誤,如圖:
其他測試也類似。