如何从MVC 2中的控制器将视图呈现为字符串?
在MVC 1中,我使用了CaptureActionHtml。我遇到与a similar question相同的问题,但有没有办法在没有Rhink.Mocks的情况下执行此操作?
答案 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"));
});
}