我正在學習TDD,最近正在尋找如何正確測試私有方法的方法。 Stack Overflow中的流行答案提示:將私有方法更改爲受保護或包私有單元測試 - 好還是不好?
根據註釋部分分歧,似乎每個人都有自己的規則。然後我發現這個tutorial site暗示了一個相當大膽的方法。
- 製造
private
方法protected
或package private
。把測試代碼放在同一個軟件包中。設計的可測試性設計意味着你的代碼,使其更容易測試。要做到這一點,你可能不得不打破我們在大學學到的一些原則,比如封裝。
儘管TDD的原則設計代碼的可測試性,破壞了封裝爲不健全適合我。這種方法是一個好的方法嗎?
如果一定要我選擇,我會選擇測試覆蓋率超過封裝的任何一天。 – Robert
@羅伯特但是,由於每一種私人方法都迫使我選擇,是不是意味着不再有私人方法了? – user2652379