论坛首页 综合技术论坛

单元测试之实践一,关于设计的常见分层

浏览 6142 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-12-09  
        我做过的项目不多。也就几个。做项目的经历是个学习的过程。
       第一个项目,纯Jsp,没有任何的java类,当时就觉得好郁闷啊。做久了,根本找不到北。
       第2个项目:开始会用些javabean来做了。但是还是一个字好乱。
       第3个项目:开始使用hibernate, 只是对数据库层做了些简单的封装,修改起来比较好了点
       第4个项目:研究Webwork+spring+hibernate。终于实现了所谓的MVC了。哈哈,该起程序来终于开始有点爽了。
      第5个项目: 开始引入了单元测试,现在还在很懵懂在学习中,为了更好的测试,我们开始努力写出更高质量的代码。所以对软件的分层更细致了些。

      我们可以从测试来分出上的设计的好坏。
      1,纯jsp,根本无从单元测试,我想就是那些大牛们也很难写出这样的测试代码吧
      2,对于纯粹只有get/set的javabean而言,我想应该是没有必要做单元测试的。如果有逻辑代码的话,测试起来也是相当困难的,因为你不知道里面的逻辑代码跟多少个类大了交道,你会为了测试这段代码,建立相关的环境,比如启动EJB,Web容器等。跟难预料的是,跟你耦合的类未必就是正确的,其实你的测试代码跟你的javabean逻辑是对的,但是因为你引用的类(也就是耦合类)的逻辑是错误的,这将导致你的测试是个红色,“真的很抱歉,其实我也不想这样的,单元测试说”。 这样就足以证明是你的设计问题了。并不是单元测试的问题。所以说第个项目测试是很难测是的。只是比不能测试好一点点。
      3,至于第3个跟第2个差不多。
      4,第4个由于对每个层做了细致设计,所以设计测试代码容易点,而且可以通过easymock等工具进行分层测试,这样可以做到更细粒度的测试,对测试覆盖率也是很有帮助的。下面我将主要通过第4个项目的用户注册例子来讲单元测试的各个方面。

先看下,源代码的包结构。


接下来看下流程图。
可以很清楚的知道,没一层做些什么工作,接下的文章,我将会根据我的设计习惯,一一给出他们相应的测试代码。希望高手们指教。
我不会绘制UML图,所以只好手工来画,可惜手机像素不高,所以。。。。


  • 大小: 18.9 KB
  • 大小: 368.8 KB
  • src.rar (7 KB)
  • 描述: 现在把用例代码贴出来,里面的代码只是java,没有视图的。
  • 下载次数: 111
   发表时间:2007-04-23  
感觉楼主的字和我的很象。。。 哈
0 请登录后投票
   发表时间:2007-04-25  
??个人觉得再简单的应用,都应该有分。至少在方法层面,类层面,包层面中选择一个。这样结构更清晰,至于测试,要在设计的时候就要考虑如何支持测试。
0 请登录后投票
   发表时间:2007-04-25  
楼主写的内容跟题目不太符合,src.rar里也没有找到单元测试的影子。
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics