2012-06-16 126 views
0

我有一個接受一對輸入參數(字符串,int等)的控制器方法。因爲我不想在此方法中聲明每個參數,所以我創建了一個具有映射到此參數的屬性的類,現在此方法的唯一參數是此類的一個實例。當方法被調用時,對象的屬性會根據其名稱填充參數的值。在ASP.NET MVC中作爲控制器方法參數的接口

現在我想單元測試這個方法;所以我想發一個這個類的模擬方法。起初,我創建了一個類的模擬併發送給方法;它工作得很好,除了我必須用虛擬關鍵字標記所有我想在模擬中設置的屬性,以便mock框架可以訪問它。
因此,我認爲我可以創建此類實現的接口,但無法將接口作爲參數發送給控制器方法。

是否可以手動將輸入參數綁定到對象的屬性?例如,要通過控制器的構造函數注入接口,然後觸發一些手動綁定輸入值到屬性?

我使用ASP.NET MVC 3

+2

你能分享一些代碼嗎? –

回答

0

如果我理解你正在試圖測試控制器,並需要使用一個模型類的模擬。

我的第一個想法是,爲什麼你不能只使用你的模型類的實際實例?

想必你的模型類有依賴性或要隔離的副作用...

在這種情況下,也許模型類是做太多了?

相關問題