可以测试Session相关的代码了

需要测试的代码分为如下几个部分:
  1. 纯粹的相对简单的计算
  2. 页面逻辑
  3. HTTP相关的代码
  4. 数据库相关
1很容易测试,2还没有尝试过,估计有麻烦;3今天找到模拟的办法了; 4 基本上是可以测试的,只是数据准备和清理比较麻烦。

微软的HTTP设计并没有考虑到测试,很多类都是seal封闭的,无法做mock,还好今天搜索到微软高级经理分享的模拟解决方案,很好地解决了3的测试,也很容易用。不过他用的是MbUnit,也不难。

下一步要寻求解决2,4的测试。

2部分比如某些事件是很难模拟的,主要依靠把页面做成薄层,只有很少的代码,基本上不用测试。当然还有一些页面测试框架,暂时没有打算采用。

4的部分问题不大,只是测试用的数据库要独立出来,就可以随意折腾了。

总的来看,至少70%以上的代码是可以测试的。TestDriven.net还附带有测试覆盖统计,可以很清晰地看覆盖率。
posted @ 2008-01-22 20:33 分享 阅读(...) 评论(...) 编辑 收藏