一个ASP.NET MVC 3 Web应用程序有几个部分组成——模型(model)、控制器(controller)、路由处理器(route-handler)、视图(view)、html-helper、客户端代码等。其中大部分模块都可以进行单元测试,有一些则需要集成测试。关于如何让测试更易维护以及如何避免它们过于脆弱,有一些最佳实践能够帮得到你。
以下是一些测试相关的资源介绍:
不仅是actions,你还可以使用MvcScaffolding生成单元测试的基架模板 (scaffolding) ;
使用自定义HTML Helpers,而不要在视图中编写大量逻辑,因为前者更容易进行单元测试。另外,测试自定义html-helper时应避免硬编码html元素;
使用类似Specflow的BDD框架编写端到端的验收测试;
尽管在路由表之外添加新的路由很容易破坏已有路由,但你可以通过对路由表进行单元测试来避免该问题;
打开视图编译开关。 这虽然并不完全是单元测试,但它可以帮助发现运行时才能看到的错误;
如果UI变化不大,可以使用WaTiN来测试UI。另外,可以通过使用页面对象(Page Object)调整UI设计改动,来让集成测试变得稍微灵活些;
使用一款JS测试框架,如使用Jasmine来测试JavaScript。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
ASP.NET Web Forms的改进
虽然ASP.NET Web Forms不是vNext计划的一部分,但它并没有被忽视。作为Visual Studio 2013 Update 2的一部分,它重新开始支持新工具、EF集成和Roslyn。
-
如何走出选择PHP还是ASP.NET的两难境地?
PHP和ASP.NET可以说是一对竞争对手,就两者的优劣性做出好坏评说的话,估计会有遭到双方程序员的激烈回应。
-
信息化考核步入中考 在线考试系统初显神威
随着信息化素质教育和考核也逐渐在各地开展起来,如何对一个地区的在校中学生进行统一的信息化操作考核一直是组织者头疼的事情。
-
.NET 4.5.1比看上去更丰富
本周的Build大会上宣布了.NET 4.5.1的推出。看上去这次更新好像只是一次bug fix,或者顶多包括一些很小的更新。