qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          如何給一個私有方法做單元測試

            給類的公有方法做單元測試,很簡單,new一個對象,設好入口參數后,調用這個方法,比較期望值和實際值即可。給一個類的私有方法做單元測試,也不麻煩,先通過反射獲取這個方法,然后將這個方法的可訪問性強制設為true,這樣的話,這個私有方法就可以被調用了。
            代碼如下:
          //被測試方法
          private Double format(Double fileSize){
          Double size = fileSize;
          size = size / 1024 / 1024;
          size = (int)(size.doubleValue() * 10 + 0.5) / 10.0;
          return size;
          }
          @Test
          public void testFormat(){
          ClientDownloadAction action = new ClientDownloadAction();
          double size = 3732930;
          Class class1 = action.getClass();
          try {
          Method format = class1.getDeclaredMethod("format", Double.class);
          format.setAccessible(true);//設為可見
          Double result = (Double)format.invoke(action, size);
          Double expect = 3.6;
          Assert.assertEquals(expect, result);
          } catch (Exception e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
          }
          }

          posted on 2014-06-20 11:27 順其自然EVO 閱讀(412) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2014年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 友谊县| 宁乡县| 土默特右旗| 罗定市| 信阳市| 阳高县| 武胜县| 阿合奇县| 遂溪县| 马尔康县| 湟中县| 夏津县| 沾化县| 胶南市| 新泰市| 柳江县| 射阳县| 嘉义县| 类乌齐县| 波密县| 炉霍县| 自治县| 札达县| 五河县| 宣威市| 萝北县| 定安县| 正蓝旗| 眉山市| 宁晋县| 民县| 青海省| 新巴尔虎右旗| 黄山市| 江达县| 翁牛特旗| 奉化市| 化州市| 锦屏县| 富宁县| 吉首市|