為什么測試全覆蓋很難?
發表于:2008-09-08來源:作者:點擊數:
標簽:
正面觀點:100%的覆蓋是可以的,為什么呢?看下面的代碼: 我們有這樣的一個方法: public int getAccount(){ return 999; } 這樣的方法走一次就可以了,你只要執行它(System.out.pringln(xxx.getAccount()))它就會乖乖的返回999, 測試 一次自然100%覆蓋
|
正面觀點: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.kjueaiud.com