您的位置:首页 > 其它

JUnit测试案例

2015-05-07 19:47 253 查看
题目

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

由上,完成判定覆盖。所有判定条件的真假都覆盖了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: