我想寫一個類庫爲我創建一個複雜的對象,但只應儘可能少地暴露。我希望它被包含到其他項目中,並且在那裏我只有一個對該庫的調用,例如,返回一個內部創建的類的對象。我不想讓別人明確地創建這些對象,但我仍然想爲這個類庫創建一個測試項目。如何測試內部類庫?
例如:
var result = Manager.Instance.Create(definition)
這應該是對類庫的唯一通道。
根據定義參數,它使用不同的子類來創建請求的實例並相應地設置它的屬性。因此,我想通過測試以確保整個創建過程正常工作。但是因爲我也不想公開很少的結果對象的內部屬性,我不能通過使用這個公共訪問方法來測試,因爲我沒有任何屬性來斷言。
我知道你不應該測試內部機制,它通常是不好的設計,我也通過this article閱讀,但沒有任何辦法可以創建一個庫加單元測試項目,也許以後限制訪問這個班?用包裝什麼的?
您使用的是哪種語言? – 2013-03-15 19:52:00
Duplicate:http://stackoverflow.com/q/358196/492 – 2013-11-06 10:40:34