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)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 河池市| 无极县| 时尚| 全椒县| 镇江市| 滕州市| 麦盖提县| 佳木斯市| 南部县| 通许县| 波密县| 南阳市| 马公市| 饶河县| 寿光市| 博罗县| 环江| 正宁县| 壶关县| 宾阳县| 泸水县| 伊吾县| 武穴市| 轮台县| 县级市| 翼城县| 阿克陶县| 丹寨县| 西峡县| 鹰潭市| 聊城市| 凤庆县| 定日县| 固原市| 田林县| 武威市| 东安县| 梨树县| 府谷县| 司法| 庆安县|