<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    離弦之Ray

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      55 Posts :: 0 Stories :: 33 Comments :: 0 Trackbacks

    問:如何對私有方法進行單元測試?

    答:重點在于,你不應該有任何方法是從一開始設計出來就是private的,因為你的每段程序都應該在單元測試的驅動之下產生,而測試是不可能驅動出 來一個private方法的。那么private方法從哪里來?只能從重構而來。所以答案是:private方法是不需要測試的,因為它是重構的產物,而 重構是不改變程序可觀察之行為的。既然行為不改變,測試自然也不需要有任何改變,所以不需要針對private方法建立任何新的測試。

    問:但是,如果private方法確實出現(xiàn)問題了怎么辦?如果確實希望用測試來弄清一個private方法里面到底發(fā)生了什么,該怎么辦?

    答:如果一個private方法復雜到你不能一眼看清它,那它就太復雜了,你應該把它重構成為一個獨立的class,然后針對這個class來建立單元測試。

     

     

     

    posted on 2008-04-16 20:54 離弦之ray的技術天空 閱讀(2022) 評論(3)  編輯  收藏

    Feedback

    # re: [轉]如何對private方法進行單元測試[未登錄] 2008-09-04 16:20 xan
    可以通過反射設置方法能見來測試private方法  回復  更多評論
      

    # re: [轉]如何對private方法進行單元測試 2008-10-10 16:39 畢竟紅塵
    我反正都是通過main來測試private函數(shù)...
    這個解答得很微妙
    因為private都是重構的產物,所以private的代碼是不需要測試的?
    那么是不是還應該證明,“重構的產物是不需要測試的”?
    解答里面,似乎是想通過“重構是可以不改變程序之行為”來證明“,“重構的產物是不需要測試的”?”

    但是,緊接著是不是應該證明下“重構不改變程序之行為,所以不改變程序行為的代碼,是不需要測試的”?

    繞啊...
      回復  更多評論
      

    # re: [轉]如何對private方法進行單元測試 2008-10-26 00:19 離弦之ray的技術天空
    這個回答是在純理想化的情況下

    現(xiàn)實中嘛就……

    除了反射,還可以用MOCK的方法來測試
    即編寫一個Mock類繼承要被測試的類
    然后將對應的private方法overriding成public的繼而進行測試

      回復  更多評論
      


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 免费视频精品一区二区| 亚洲AV日韩AV无码污污网站| 久久精品无码专区免费| 亚洲国产成人精品91久久久| 美女18一级毛片免费看| 免费中文字幕一级毛片| 一级毛片大全免费播放| 亚洲人成图片小说网站| 久久精品国产影库免费看| 久久亚洲免费视频| 四虎永久在线观看免费网站网址 | 免费网站看av片| 亚洲AV日韩AV鸥美在线观看| 久久中文字幕免费视频| 亚洲欧洲尹人香蕉综合| 成人a免费α片在线视频网站| 亚洲AV日韩AV无码污污网站 | 天天干在线免费视频| 婷婷亚洲综合五月天小说在线| 亚洲国产成人久久综合碰| eeuss在线兵区免费观看| 亚洲精品线在线观看| 成人毛片18女人毛片免费视频未| 美国毛片亚洲社区在线观看| 国产午夜亚洲精品午夜鲁丝片| 久久久久国产精品免费免费不卡| 亚洲国产精品免费观看 | 日韩毛片在线免费观看| 亚洲精品高清国产一线久久| 2019中文字幕在线电影免费 | 91频在线观看免费大全| 亚洲成av人片天堂网无码】| 亚洲天堂在线视频| 18禁止看的免费污网站| 午夜成人无码福利免费视频| 亚洲国产精品va在线播放| 在线a毛片免费视频观看| XXX2高清在线观看免费视频| 亚洲国产日韩女人aaaaaa毛片在线| 国产精品冒白浆免费视频| 免费无码又爽又刺激网站直播|