一个ASP.NET MVC 3 Web应用程序有几个部分组成——模型(model)、控制器(controller)、路由处理器(route-handler)、视图(view)、html-helper、客户端代码等。其中大部分模块均可以进行单元测试,有一些则须要集成测试。关于如何让测试更易维护以及如何避免它们过于脆弱,有一些最佳实践可以帮获得你。html
如下是一些测试相关的资源介绍:框架
一、不只是actions,你还可使用MvcScaffolding生成单元测试的基架模板 (scaffolding) ;ide
二、使用自定义HTML Helpers,而不要在视图中编写大量逻辑,由于前者更容易进行单元测试。另外,测试自定义html-helper时应避免硬编码html元素;单元测试
三、使用相似Specflow 的BDD框架编写端到端的验收测试;测试
四、尽管在路由表以外添加新的路由很容易破坏已有路由,但你能够经过对路由表进行单元测试来避免该问题;编码
五、打开视图编译开关。 这虽然并不彻底是单元测试,但它能够帮助发现运行时才能看到的错误;设计
六、若是UI变化不大,可使用WaTiN来测试UI。另外,能够经过使用页面对象(Page Object)调整UI设计改动,来让集成测试变得稍微灵活些;htm
七、使用一款JS测试框架,如使用Jasmine来测试JavaScript。对象
您还知道什么其余的测试ASP.NET MVC应用程序的技巧吗?请留言支招。ip