在对程序进行覆盖率测试时,在一个函数中遇到了一个switch 语句,其中switch部分代码如下
case "BI_":
case "IN_":
case "SI_":
dcCol.DataType = System.Type.GetType("System.Decimal");
break;
case "CH_":
case "VA_":
dcCol.DataType = System.Type.GetType("System.String");
break;
case "BL_":
case "CL_":
dcCol.DataType = System.Type.GetType("System.Byte[]");
break;
case "DT_":
case "TS_":
dcCol.DataType = System.Type.GetType("System.DateTime");
break;
default:
throw new DBException("bind参数不正。");
每种分支我都造了一条数据,全部测试结束后,结果还是有1.49%没有测试到,但是程序已经全部变绿(绿色为已测试),
请问:是还有考虑不周全的地方,还是对switch 方法有另一测试方法啊?
case "BI_":
case "IN_":
case "SI_":
dcCol.DataType = System.Type.GetType("System.Decimal");
break;
case "CH_":
case "VA_":
dcCol.DataType = System.Type.GetType("System.String");
break;
case "BL_":
case "CL_":
dcCol.DataType = System.Type.GetType("System.Byte[]");
break;
case "DT_":
case "TS_":
dcCol.DataType = System.Type.GetType("System.DateTime");
break;
default:
throw new DBException("bind参数不正。");
每种分支我都造了一条数据,全部测试结束后,结果还是有1.49%没有测试到,但是程序已经全部变绿(绿色为已测试),
请问:是还有考虑不周全的地方,还是对switch 方法有另一测试方法啊?
想知道为什么会这样?