使用自定义基类为视图编写单元测试

时间:2012-01-20 18:37:50

标签: asp.net-mvc asp.net-mvc-3 razor viewbag

我们有一个MVC 3 Razor Web项目,我们为视图指定一个自定义基类。在此基本视图类的InitializePage方法中,我们正在进行一些初始化并将对象保存到ViewBag。此信息用作布局页面的“模型”。这里的一条信息是在布局页面中呈现的结构化上下文菜单。此菜单上的项目可能会发生变化,具体取决于登录我们网站的用户。

我的问题是如何对基本视图类中运行的代码进行单元测试。由于此代码仅在呈现视图时运行,除了模拟执行视图的控制器上下文之外,我还有其他选择吗?我在互联网上看到了一些关于这样做的样本,看起来它比它的价值更麻烦。

任何想法都会有所帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

对我而言,显而易见的解决方案是将该代码(或至少其中的大部分)提取到另一个类的方法中。然后,您的View类应该只是将适当的值传递给该方法,使其InitializePage方法足够简单,不需要进行单元测试。您可以独立于View类单元测试该方法。