ASP.NET MVC2 - 将视图呈现为字符串

时间:2010-04-30 17:09:48

标签: asp.net-mvc-2

如何从MVC 2中的控制器将视图呈现为字符串?

在MVC 1中,我使用了CaptureActionHtml。我遇到与a similar question相同的问题,但有没有办法在没有Rhink.Mocks的情况下执行此操作?

1 个答案:

答案 0 :(得分:0)

我发现Steve Sanderson's Integration Testing framework能够很好地解决这个问题。

从他自己的博客文章中读取其中一个代码示例,可以让您了解框架的功能,可以对其输出执行的断言等等:

[Test]
public void Root_Url_Renders_Index_View()
{
    appHost.SimulateBrowsingSession(browsingSession => {
        // Request the root URL
        RequestResult result = browsingSession.ProcessRequest("/");

        // You can make assertions about the ActionResult...
        var viewResult = (ViewResult) result.ActionExecutedContext.Result;
        Assert.AreEqual("Index", viewResult.ViewName);
        Assert.AreEqual("Welcome to ASP.NET MVC!", viewResult.ViewData["Message"]);

        // ... or you can make assertions about the rendered HTML
        Assert.IsTrue(result.ResponseText.Contains("<!DOCTYPE html"));
    });
}