gpt4 book ai didi

asp.net-mvc - MVC 在测试方法中获取查看 HTML 输出

转载 作者:行者123 更新时间:2023-12-04 05:28:04 25 4
gpt4 key购买 nike

如何在我的测试方法中获取生成的 HTML( View )?

我有以下几点:

Controller :

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();
}
}

仅供引用:当我在调试 controller.HttpContext 和 controller.RouteData 中运行它时为空。
谢谢

最佳答案

您可以使用 RazorGenerator执行单元测试中的 View 。这是一个 blog post David Ebbo 在其中说明了这一点。

但那些不再是单元测试。它们是集成测试,您可以使用诸如 Watin 之类的工具。这可以让您对您的应用程序执行集成测试。

关于asp.net-mvc - MVC 在测试方法中获取查看 HTML 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12957164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com