HI thereAsp.Net MVC如何測試呈現的視圖
我想知道是否有更好的方式來測試視圖在MVC中呈現。
我在想也許我應該渲染視圖到一個字符串,但也許有更簡單的方法?
基本上我想知道,對於一個給定操作的觀點沒有錯誤呈現什麼 餘米已經在測試視圖模型,但我希望看到呈現給正確的ViewData.Model視圖工作
HI thereAsp.Net MVC如何測試呈現的視圖
我想知道是否有更好的方式來測試視圖在MVC中呈現。
我在想也許我應該渲染視圖到一個字符串,但也許有更簡單的方法?
基本上我想知道,對於一個給定操作的觀點沒有錯誤呈現什麼 餘米已經在測試視圖模型,但我希望看到呈現給正確的ViewData.Model視圖工作
使用MvcContrib TestHelpers庫執行斷言特定視圖正在從你的行動返回:
var sampleController = new SampleController();
sampleController.New().AssertViewRendered().ForView("New").WithViewData<SomeModel>();
要作出斷言,以確保您返回正確的數據來看,從01拉模型:
var result = (ViewResult)sampleController.New();
((SomeModel)result.ViewData.Model).SomeProperty.ShouldNotBeNull();
這就像你的單元測試應該去的一樣。
對於端到端自動化功能/ GUI測試,您可能需要考慮使用像Selenium這樣的工具。
您可以爲您的項目啓用視圖編輯。這樣,除非您解決問題,否則該項目無法編譯。編輯此行中的.csproj文件:
<MvcBuildViews>false</MvcBuildViews>
使用真實而非虛假
我你也可以使用ELMAH(安裝查看的NuGet),你可以通過電子郵件(包括YSOD)收到詳細的錯誤。
我見過一對夫婦對已經在同一主題的問題[我們能否單元測試查看MVC的(「V」)?(https://stackoverflow.com/questions/1005819/can -we-unit-test-view-v-of-mvc)和[Unit Testing the Views?](https://stackoverflow.com/questions/151794/unit-testing-the-views)你也可以看看[這個](史蒂夫桑德森的博客中的博客)(http://blog.stevensanderson.com/2009/06/11/integration-testing-your-aspnet-mvc-application/)。 – uvita 2010-05-31 15:51:38