如何测试MVC视图
本文关键字:MVC 视图 测试 何测试 | 更新日期: 2023-09-27 18:25:54
我的页面有以下隐藏字段
<%= Html.Hidden("SessionId", Model.Form.UniqueSessionId) %>
我的控制器
public class SomeController
{
public ActionResult Index()
{
var somemode = new GetSomeModel();
return View(somemodel);
}
}
我想能够测试视图是否具有隐藏字段
protected SomeController controller;
protected void SetupController()
{
controller = new SomeController()
}
[Test]
public void view_has_hidden_field_for_SessionId()
{
ViewResult result = controller.Index() as ViewResult;
Assert.IsTrue(result.contains("<input type="hidden" id="SessionId" />"));
}
问题是:如何将视图渲染为字符串?有什么帮助吗?
看看这个支持剃刀视图和标准asp.net视图的解决方案:
将视图渲染为字符串
我给你的另一个建议是使用html解析器,比如HtmlAgilityPack,这样你就可以查询它来找到你的隐藏字段。这种方法更好,因为在重构html时,对字符串进行测试会使测试变得脆弱。