将我的脚趾浸入 asp.net 和 mvc,更具体地说是 MVC 5 的 web-api (2.0) 部分,我喜欢使用属性和创建自己的属性类来控制如何处理请求和为所有 api 返回响应的想法端-点。
“如何测试”只有某些角色才能访问 MVC 中的控制器”一文描述了如何对单个控制器进行单元测试,以确保它保持正确的属性并且不会添加不需要的属性。
这是对单个控制器进行单元测试的一种完全有效的方法。但是,我更喜欢将 API 配置的所有测试放在一个地方,而不是分散在各个控制器的单元测试中。特别是,使用属性路由,控制器可以很容易地被另一个控制器替换,该控制器可能没有正确的属性并且其测试伙伴没有测试它们。
我的设想是一个单一的测试类,其中 API 配置的所有方面都可以防止(无意)更改的不良影响。我正在努力解决的是如何设置它。Bryan Avery 的文章(上面提到过)展示了如何获取控制器类的自定义属性列表,但是:
如何获得测试项目中存在的所有控制器的列表?