【问题标题】:What is the simplest way to test ActionResult for "yellow screen of death"?测试“黄屏死机”的 ActionResult 的最简单方法是什么?
【发布时间】:2011-10-31 23:17:20
【问题描述】:

我有这样的动作:

 public ViewResult Index()
        {
            var model = someFactory.CreateModel();
            return View(model);
        }

在“黄屏”外观上测试它的最简单方法是什么?

当然我会模拟 some Factory 逻辑。

我只想测试 ViewResult 的一些愚蠢的语法运行时错误。

更新: 在控制器逻辑中没有异常,但有时我会在 ExcecuteResult 方法执行时遇到运行时异常。换句话说,我要测试什么查看渲染过程。

【问题讨论】:

    标签: asp.net-mvc unit-testing tdd


    【解决方案1】:

    您需要执行查看结果,这是一篇博客文章如何使用 Razor 执行此操作:

    http://blog.davidebbo.com/2011/06/unit-test-your-mvc-views-using-razor.html

    如果您使用的是 WebForms 视图,则必须使用类似的方法。

    【讨论】:

      【解决方案2】:

      假设错误处理是使用HandleErrorAttribute 完成的,如果出现异常,它将使用HandleErrorInfo 作为模型并使用Error 视图(如果未指定)。所以你需要做的就是测试控制器渲染了哪个视图。

      对于这种类型的测试,我建议您使用TestHelper

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-22
        • 1970-01-01
        • 1970-01-01
        • 2011-01-11
        相关资源
        最近更新 更多