問:如何對私有方法進行單元測試?
答:重點在于,你不應該有任何方法是從一開始設計出來就是private的,因為你的每段程序都應該在單元測試的驅動之下產生,而測試是不可能驅動出
來一個private方法的。那么private方法從哪里來?只能從重構而來。所以答案是:private方法是不需要測試的,因為它是重構的產物,而
重構是不改變程序可觀察之行為的。既然行為不改變,測試自然也不需要有任何改變,所以不需要針對private方法建立任何新的測試。
問:但是,如果private方法確實出現(xiàn)問題了怎么辦?如果確實希望用測試來弄清一個private方法里面到底發(fā)生了什么,該怎么辦?
答:如果一個private方法復雜到你不能一眼看清它,那它就太復雜了,你應該把它重構成為一個獨立的class,然后針對這個class來建立單元測試。