ASP.NET MVC 测试方法与技巧

  • Roopesh Shenoy
  • 曹如进

2012 年 3 月 20 日

话题:语言 & 开发

一个 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

您还知道什么其他的测试 ASP.NET MVC 应用程序的技巧吗?请留言支招。

查看英文原文:http://www.infoq.com/news/2012/03/aspnet-unit-test

语言 & 开发