单元测试 – 有没有办法单元测试在视图中设置的ASP.NET MVC ViewBag属性?

前端之家收集整理的这篇文章主要介绍了单元测试 – 有没有办法单元测试在视图中设置的ASP.NET MVC ViewBag属性?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
说我有一个视图与页面顶部的以下代码
@{
    ViewBag.Title = "About Us";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

我有一个控制器方法

public ActionResult About()
    {
        return View();
    }

如何测试ViewBag设置正确?

我已经尝试了以下代码

[TestCase]
public void About()
{
    var controller = new AboutController();
    var ar = controller.About() as ViewResult;
    Assert.AreEqual("About Us",ar.ViewBag.Title);
}

但是当我运行测试时,我得到以下结果:

Tests.Controllers.AboutControllerTests.About():
    Expected: "About Us"
    But was: null

解决方法

不,你不能测试这样的视图。您最可能获得的是将视图呈现到流写入器中,然后测试生成的HTML。在单元测试中通常不做任何事情。我建议您执行网络测试,以验证视图是否正确。您可以使用 Visual Studio创建网络测试,还可以免费使用 Selenium框架。

猜你在找的asp.Net相关文章