【发布时间】:2009-03-26 00:09:38
【问题描述】:
我一直在使用“穷人”依赖注入技术对控制器进行单元测试。每个控制器都从基本控制器继承以查询母版页的数据。如何在不访问数据库的情况下对从基本控制器继承的控制器进行单元测试?
public class HomeController : BaseController
{
IUserRepository _userRepository;
public HomeController() : this(new UserRepository()) {
}
public HomeController(IUserRepository userRepository) {
_userRepository = userRepository;
}
}
public class BaseController : Controller
{
protected override void Execute(System.Web.Routing.RequestContext requestContext)
{
MyDataContext db = new MyDataContext();
ViewData["masterPageData"] = db.GetSomeData();
base.Execute(requestContext);
}
}
【问题讨论】:
-
您能否提供更多信息,特别是“查询母版页数据”的代码在哪里?
-
在父控制器的任何Action方法期间,代码都会从BaseController中的Execute方法调用。