[當然,問題並不限於特定的「朋友」的實施,隨時雖然指出實現細節,如果相關]使用「朋友」聲明進行單元測試。餿主意?
通過懸而未決的問題閱讀,我偶然發現了InternalsVisibleTo
屬性:
指定類型是 僅在 當前組件通常可見的是 另一個組件可見。
的C# Programming Guide上MSDN具有描述如何使用該屬性,以允許使用的internal
方法和類型到另一個組件的截面Friend Assemblies。
我想知道是否用它創建一個「隱藏」接口來檢測單元測試程序集使用的庫。它似乎在兩個方向上大量增加耦合(測試代碼在生產組裝中,在測試代碼中關於生產組裝的內部知識),但另一方面它可能有助於創建細粒度測試而不會混淆公共接口。
您在測試時使用朋友聲明有什麼經驗?是你的銀色子彈,還是它開始了死亡之旅?
感謝您提供強有力的命名!我還沒有意識到這一點,但是因爲我認爲我所有的程序集都必須以發佈方式強烈命名,所以我不認爲這是一個真正的問題。 – 2008-11-04 13:13:20