2010-04-20 55 views
2

我知道我不需要Typemock,但是,像MoQ這樣的東西,我需要使用適配器模式來通過接口爲我不控制的代碼創建模擬。代碼生成工具,爲單元測試創​​建C#適配器類?

例如,TcpClient是一個.NET類,所以我使用適配器模式來啓用這個對象的模擬,b/c我需要該類的接口。然後生成接口ITcpClient,然後可以通過TcpClientAdapter類來實現,這只是簡單的vanilla適配器模式實現。

我正在尋找一種工具來自動執行此操作(創建接口和適配器),我會認爲那裏有一個地方? (或者是每個人都只是手工編碼這些)

+0

你打算如何讓TcpClient實現你的界面? – 2010-04-20 13:31:38

+0

@Lasse - 在我的問題中指出,使用適配器模式。請參閱這裏獲取更多信息:http://www.dofactory.com/Patterns/PatternAdapter.aspx – RyBolt 2010-04-20 14:09:25

回答

2

更換任何.NET方法與自己的 委託」 - 痣

我的手代碼我的,但退房Moles。它將允許你嘲笑任何東西,靜態方法,你的名字。這不是一個代碼生成器,但是你必須編寫代碼/返回值,但是你不需要編寫適配器類。相反,您只需說明您想要每次測試覆蓋的內容。

這是新的,我沒有親自使用它,但從我看到的視頻看起來很有前途。特別是對於麻煩的領域,例如靜態API或不受您控制的類。

+0

這絕對是Typemock的一個很好的選擇,因爲它們似乎都具有相同的目標,即隔離。 MS研究項目給了我發拉的經驗,但我會努力讓它工作。 – RyBolt 2010-04-20 16:19:34