1

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

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

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

4

1 回答 1

0

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

于 2012-01-20T18:45:12.830 回答