asp.net-mvc – 编写单元测试以验证所有ASP.NET MVC控制器是否继
发布时间:2020-12-16 06:23:14 所属栏目:asp.Net 来源:网络整理
导读:感谢您提前回答.我刚刚开始深入研究asp.net mvc web应用程序的单元测试. 我有几个控制器,所有控制器都继承自BaseController(这个BaseController负责菜单,租户检查等).我想知道是否有一种方法可以对所有控制器进行单元测试,以确保它继承自BaseController. 解
感谢您提前回答.我刚刚开始深入研究asp.net mvc web应用程序的单元测试.
我有几个控制器,所有控制器都继承自BaseController(这个BaseController负责菜单,租户检查等).我想知道是否有一种方法可以对所有控制器进行单元测试,以确保它继承自BaseController. 解决方法
这几乎听起来更适合静态分析,例如Visual Studio的代码分析功能(AKA“FxCop”).但我以前写过代码分析规则,我不确定我会推荐它,除非你头上满是头发,并希望拔掉你所有的头发!
所以回到单元测试: 在单元测试中,策略是在控制器组件中找到所有控制器类型,并确保它们具有正确的基类.这是一些伪代码: Type[] allTypes = typeof(SomeTypeInTheAssembly).Assembly.GetExportedTypes(); Type[] allControllerTypes = allTypes.Where( t => typeof(IController).IsAssignableFrom(t)); Type[] allControllerTypesExceptBaseClass = allControllerTypes.Except( t => t == typeof(BaseController); // Assert that all controllers derive from BaseController Assert.True(allControllerTypesExceptBaseClass.All( t => typeof(BaseController).IsAssignableFrom(t)) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
推荐文章
站长推荐
- asp.net-ajax – ScriptManager.RegisterClientS
- ASP.NET Core:部署项目到Ubuntu Server
- asp.net-mvc – 使用ASP.NET会员资格和配置文件与
- asp.net – 数据源不支持服务器端数据分页
- ASP.Net中的会话超时设置
- asp.net – Crystal Report Viewer控件未加载报表
- asp-classic – 超过响应缓冲区限制
- IHttpAsyncHandler和ASP.NET“请求执行”计数器的
- asp.net-mvc – ASP.NET MVC中的非字符串角色名称
- asp.net-mvc – 摆脱仅在ASP.NET MVC中返回视图的
热点阅读