繁体   English   中英

我如何测试MVC视图?

[英]How can I test MVC Views?

我的页面有隐藏字段

<%= 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,这样你就可以查询它以找到你的隐藏字段。 这种方法更好,因为对string.contains的测试会在你重构你的html时使你的测试变得脆弱。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM