正面觀點:100%的覆蓋是可以的,為什么呢?看下面的代碼:
我們有這樣的一個方法:
public int getAclearcase/" target="_blank" >ccount(){
return 999;
}
這樣的方法走一次就可以了,你只要執行它(System.out.pringln(xxx.getAccount()))它就會乖乖的返回999,測試一次自然100%覆蓋,看我說的對吧!
有一天這個方法忽然變化了:
public int getAccount(int selet){
switch{
case 1:
return 1;
breake;
case 2:
return 2;
breake;
case 3:
return 3;
breake;
default:
return 0;
breake;
}
}
汗,豁出去了我執行四次,哈哈,我也達到了100%的覆蓋,我說的還是正確的!
繼續,某天雷電辟中了代碼,代碼立刻膨脹了,現在變成:
public int getAccount(int selet){
switch{
case 1:
if (xxx) then{
return 0;
}else{
return 1;
}
breake;
case 2:
if (xxx) then{
return 0;
}else{
return 2;
}
breake;
case 3:
if (xxx) then{
return 0;
}else{
return 3;
}
breake;
......
case 9999999:(假如java允許,哈哈)
if (xxx) then{
return 0;
}else{
return 999999;
}
breake;
default:
return 0;
breake;
}
}
可能要做到100%地球都爆炸了,這就是為什么愿望是好的,實現是困難的根源!
原文轉自:http://www.anti-gravitydesign.com