JUnit測試案例

題目

public class TestExample {

public int function(int fo, int fb, boolean s) {

int a_def = 100;

int s_def = 50;

int dmg = 0;

if (s) {

fo -= a_def * 0.2;

if (fo < 0)

fo = 0;

dmg += fo;

s_def -= fo;

if (s_def < 0)

s_def = 0;

fb -= s_def + a_def;

if (fb < 0)

fb = 0;

dmg += fb;

} else {

if (fb <= a_def)

a_def -= fb;

else {

a_def = 0;

fb -= a_def;

dmg += fb;

s_def -= fb;

if (s_def < 0)

s_def = 0;

}

fo -= s_def + a_def;

if (fo < 0)

fo = 0;

dmg += fo;

}

return dmg;

}

}

測試用例:f0 =50,fb=200,s=true;

if (s)   T

if (fo < 0) F

if (s_def < 0) F

if (fb < 0) F

測試用例:f0 =0,fb=50,s=true;

if (s)   T

if (fo < 0) T

if (s_def < 0) F

if (fb < 0) T

測試用例:f0 =100,fb=50,s=true;

if (s)   T

if (fo < 0) F

if (s_def < 0) T

if (fb < 0) T

 

測試用例:f0 =50,fb=50,s=false;

if (s)   F

if (fb <= a_def) T

if (s_def < 0) 無法取到

if (fo < 0) T

測試用例:f0 =50,fb=150,s=false;

if (s)   F

if (fb <= a_def) F

if (s_def < 0) T   (若取到則永真)

if (fo < 0) F

 

 

 

由上,完成判定覆蓋。所有判定條件的真假都覆蓋了。

 

發佈了15 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章