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時,測試錯誤,如圖:
其他測試也類似。