我有那个控制器:
[Authorize(Roles = "Administrator")]
public class ApuradorController : Controller
{
private readonly Questiona2011Context _context;
private readonly AuthenticationService _authenticationService;
public ApuradorController(Questiona2011Context context, AuthenticationService authenticationService)
{
this._context = context;
this._authenticationService = authenticationService;
}
...
}
我正在使用RoleProvider。我如何在控制器中测试角色和授权?
答案 0 :(得分:7)
过滤器(例如,您的authorizeattribute)旨在独立于控制器和操作方法。当你为你的动作方法编写单元测试时,简单地忽略过滤器,它们只是属性。 但是,当您对控制器和操作进行单元测试时,您不必测试它们! 如果您想测试您的应用程序的工作方式,您必须编写ui自动化测试。
<强>更新强> Steven Sanderson在他的书籍pro asp.net mvc 2框架中对此有很好的解释。事实上,我在上面重复了他的话
答案 1 :(得分:1)
我相信这是为了进行集成测试。 Watin(http://watin.org/)是Web集成测试的框架。