2
如何在我的測試方法中生成HTML(視圖)?MVC在測試方法中獲取查看HTML輸出
我有以下幾點:
控制器:
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View();
}
查看:
@{
ViewBag.Title = "Home Page";
}
<h2>@ViewBag.Message</h2>
<p>
To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>.
</p>
測試:
[TestMethod]
public void HomeControllerReturnsView()
{
// Arrange
var controller = new HomeController();
// Act
var result = controller.Index() as ViewResult;
using (StringWriter sw = new StringWriter())
{
ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(controller.ControllerContext, "Home");
ViewContext viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, sw);
viewResult.View.Render(viewContext, sw);
var test = sw.GetStringBuilder().ToString();
}
}
FYI:當我在調試器運行此。 HttpContext和con troller.RouteData爲null。 感謝
投票重新開放 - 我想這是關閉,因爲它是不清楚的單元測試的一部分失敗......但問題本身看起來挺有意思的(「如何獲取HTML作爲單元測試查看結果」)。 –