2012-01-20 66 views
1

我們有一個MVC 3 Razor Web項目,我們爲我們的視圖指定了一個自定義基類。在這個基本視圖類的InitializePage方法中,我們正在做一些初始化並將一個對象保存到ViewBag中。這些信息可以作爲我們佈局頁面的「模型」。這裏的一條信息是在佈局頁面中呈現的結構化上下文菜單。此菜單上的項目可能會更改,具體取決於登錄到我們網站的用戶。使用自定義基類爲視圖編寫單元測試

我的問題是我如何可以單元測試這個代碼在基礎視圖類中運行。由於此代碼僅在呈現視圖時運行,除了模擬控制器上下文以執行視圖之外,還有其他選擇嗎?我在互聯網上看到了一些關於這樣做的示例,看起來它比它的價值更麻煩。

任何想法都會有所幫助。謝謝!

+4

如果你可以用一些源代碼來裝飾你的問題,那將會很棒。例如,你正在嘗試進行單元測試的相關源代碼會很棒。 –

回答

0

對我來說,顯而易見的解決方案是將該代碼(或至少它的大部分)提取到另一個類的方法中。然後,您的View類應該簡單地將適當的值傳遞給該方法,使其InitializePage方法非常簡單,無需進行單元測試。您可以單獨測試獨立於View類的方法。