我正在爲ASP.NET MVC控制器方法編寫單元測試。我應該在單元測試中使用AutoMapper嗎?
這些控制器對IMapper
有依賴關係 - 我創建的一個接口用於抽象AutoMapper,它是使用Castle Windsor通過構造函數注入傳入的。
操作方法使用IMapper
從域對象映射到ViewModel對象並再次返回,旨在保持乾淨並保持操作方法簡潔。
在我的單元測試,我
配置AutoMapper用正確的綁定(他們使用AutoMapper配置文件,所以可測試和網站和單元測試項目之間重複使用內置),並應通過在作爲適當的AutoMapper實現
IMapper
。傳遞模擬對象(我使用Moq)爲
IMapper
實例,具體取決於測試(這將意味着在測試設置代碼中複製一些工作以確保從模擬映射器返回的對象與模擬映射器假裝映射的對象)。手動配置AutoMapper只有映射我想我需要每個測試(很多工作和手段我沒有測試將真正使用的映射)。
在單元測試中使用基礎結構代碼有什麼意見?它在什麼時候成爲集成測試(即測試AutoMapper和我的控制器的集成)?
感覺就像2是純粹的視圖,雖然我認爲我需要更多地瞭解Moq以及如何讓它返回與傳遞給它嘲笑的方法的實際值有關的值。
如果您使用存儲庫模式,我可以指出您... http://rileytech.net/post/2010/08/17/Mock-Utility-creating-those-basic-services.aspx - - 使用最後兩個文件或將其用作完整示例:-) – jeriley 2011-01-12 13:23:38