Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 测试授权控制器_Asp.net Mvc_Test First - Fatal编程技术网

Asp.net mvc 测试授权控制器

Asp.net mvc 测试授权控制器,asp.net-mvc,test-first,Asp.net Mvc,Test First,我在TDD手册中看到了测试授权控制器的实践,但我不完全理解这是什么意思 Assert.IsTrue(typeof (TodoController) .GetCustomAttributes(true).ToList() .Any(o=>o.GetType()==typeof(AuthorizeAttribute)) ); 他们正在检查[Authorize]属性是否已添加到TodoController。请注意,他们实际

我在TDD手册中看到了测试授权控制器的实践,但我不完全理解这是什么意思

Assert.IsTrue(typeof (TodoController)
                  .GetCustomAttributes(true).ToList()
                  .Any(o=>o.GetType()==typeof(AuthorizeAttribute))
);

他们正在检查
[Authorize]
属性是否已添加到
TodoController
。请注意,他们实际上并没有测试授权机制是否工作,只是检查
AuthorizeAttribute
装饰是否存在。

它检查
TodoController
是否具有
AuthorizeAttribute
,即是否使用
[authorized]
装饰

[Authorize] // <-- if this is present the test will pass, if not it will fail.
public class TodoController {
    // ...
}

[Authorize]//tnx.GetCustomAttributes(true)是什么?它返回应用于该类型的所有自定义属性的数组。agrument应设置为
true
,以搜索此成员的继承链以查找属性,否则设置为
false
。参考: