Asp.Net MVC如何测试呈现的视图

rou*_*sis 5 asp.net-mvc unit-testing

嗨,您好

我想知道是否有更好的方法来测试视图已在MVC中呈现。

我在想也许应该将视图呈现为字符串,但是也许有更简单的方法?

基本上,我想知道给定操作的视图是否已正确呈现,我已经在测试视图模型,但是我想看到呈现正确ViewData.Model的视图可以正常工作

Ste*_*orn 4

使用MvcContrib TestHelpers 库执行从操作返回特定视图的断言:

var sampleController = new SampleController();
sampleController.New().AssertViewRendered().ForView("New").WithViewData<SomeModel>();
Run Code Online (Sandbox Code Playgroud)

要进行断言以确保将正确的数据返回到视图,请从以下位置提取模型ActionResult

var result = (ViewResult)sampleController.New();
((SomeModel)result.ViewData.Model).SomeProperty.ShouldNotBeNull();
Run Code Online (Sandbox Code Playgroud)

这就是您的单元测试应该进行的程度。

对于端到端自动化功能/GUI 测试,您可能需要考虑使用像Selenium这样的工具。