這是一個關於在使用IoC容器時如何公開構造函數的稍微深奧的問題。我使用java,Guice和Junit4,但我確定這個問題更一般。注入的構造函數,單元測試和最佳實踐
根據Guice文檔中的最佳實踐,它說"Keep constructors as hidden as possible"。這是我非常同意的,所以我很高興繼續讓我的構造函數保持私有化並依靠Guice實例化。
但是,這帶來了嘲笑類和單元測試的問題。如果我所有的構造函數都是私有的,那麼我怎樣才能在單元測試中實例化某些東西並傳遞模擬的依賴關係?不得不爲每個單元測試創建一個新的Guice模塊對我來說似乎過度。當然,我必須實際公開這些構造函數。
這使我想到了一個問題:由於在與單元測試相結合DI是如此有用,是關於保持構造函數實際上隱藏着一個錯誤的吉斯文檔的最佳實踐?
咄的,測試的類課程。對不起,作爲一個白癡。 – saltyseadog