MVC 单元测试控制器
Posted
技术标签:
【中文标题】MVC 单元测试控制器【英文标题】:MVC Unit Testing a controller 【发布时间】:2011-12-01 18:16:19 【问题描述】:我有一个带有Authorize
属性的控制器:
public CustomerController:Controller
[Authorize]
public ActionResult GetCustomer(int id)
var model=db.Customers.where(c=>c.id==id);
return View(model);
我的问题是,如何测试具有Authorize
属性的控制器?
在从HttpContext
进行测试之前,我们是否需要获取用户名和密码等用户信息?
模拟、依赖注入和控制反转是否与单元测试相关?如果是这样,你们能推荐一些网站或文档来学习这些主题吗?
【问题讨论】:
【参考方案1】:这里有一些使用 mocks、DI、IoC、MVC 进行测试的好例子@
http://code.google.com/p/sutekishop/source/browse/trunk/Suteki.Shop/Suteki.Shop.Tests/#Suteki.Shop.Tests%2FControllers
作者不使用 Authorize 属性,而是使用自定义操作过滤器和我相信的基于角色的安全性。
【讨论】:
以上是关于MVC 单元测试控制器的主要内容,如果未能解决你的问题,请参考以下文章
用于单元测试 .NET 核心 MVC 控制器的模拟 HttpContext?