深入一门语言去编程

现在重新审视Web Form的架构,感触颇多。Rick Strahl 2007年的一篇文章已近谈到了很多分层和单元测试的问题:What's Ailing ASP.NET Web Forms 看来,要解决这些问题,就是需要深入一门语言去编程了。

DNN单元测试

目前DNN的业务逻辑层和DAL层都无法进行单元测试。

  1. 给DNN 项目增加Service层,把业务逻辑放入其中,这样就可以对其进行单元测试,当然,架构也更明确了。
  2. 对于DAL层,有一篇文章介绍了一个单元测试框架,不过目前无法使用了:Unit Testing a DotNetNuke Private Assembly Module

现在的问题是,Web Form使用的事件响应机制使业务逻辑代码和UI操作代码很难分开。Web Form使用partial 的类把一个UI的页面分成三份: xxx.aspx; xxx.aspx.cs; xxx.aspx.design,因为是partial的类,所以这三个部分中的变量都是可以在任何一个部分中直接访问的,这带来的一个问题就是在aspx.cs文件中对事件响应的代码中,因为可以直接访问aspx.design页面中全局控件变量,比如textField, dropdownList之类的东西,事件响应代码变得跟UI紧耦合,从而无法进行单元测试。对上面的这些问题,这篇文章有一定的价值:Testing ASP.NET WebForms

学习计划:

  1. 研究DNN官方项目的单元测试方法
  2. 研究使用MSBuilder打包模块的方法

To Do:

可测试的DNN模块-- 如何创建可测试的DNN模块

可测试的DNN模块--如何创建测试项目

相关文章:

  • 2021-09-04
  • 2021-10-27
  • 2021-12-21
  • 2022-01-02
  • 2022-12-23
  • 2021-12-15
  • 2021-06-03
猜你喜欢
  • 2021-08-14
  • 2021-11-15
  • 2021-05-22
  • 2022-12-23
  • 2021-08-22
  • 2022-12-23
  • 2021-12-28
相关资源
相似解决方案