• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

利用EJB 3.0的JPA设计企业应用程序(测试)

发布: 2008-7-18 10:15 | 作者: 网络转载 | 来源: 天极java | 查看: 140次 | 进入软件测试论坛讨论

领测软件测试网 测试

  服务层设计的关键要素是,关注与底层的协作以提供请求的服务。这需要考虑到使用动态模仿对象的可靠测试策略。我使用 EasyMock 框架来实现测试方法

  DAO 层具有强大的数据库内聚力。这就是可靠测试需要某类容器内策略和数据库访问的原因。尽管这对于远程 EJB 很容易,还是需要考虑适合本地 bean 的有意义的方法。此处令人困扰的因素是:

需要容器内测试 facade
域对象是非连续的,所以全部验证需要发生在容器内。

  JBoss Embeddable EJB3 容器(撰写这篇文章时尚处于测试版阶段)被证实是更适当的选择。因为能够从单元测试启动 JBoss Embeddable EJB3 容器,这样所有代码都运行在同一 JVM 中。使用可嵌入容器的容器内测试可实现它的目标,但过程比较缓慢,因为容器启动时间就需要大概 30 秒。这种问题可能是由较早的产品状态造成的,可通过合理的配置改进。

  我采用 POJT 对域模型类的业务方法进行测试。不需要其他测试技术,况且其他测试技术不适合这些类。

  OR 映射是一个需要穷举测试覆盖的主要层。该层对数据库非常敏感,所以该层不能应用模仿对象或 POJT 技术。但是,您可以利用 JPA 的容器外功能。我就使用这种策略来测试 PetStore 或 OR 映射层。

  您需要牢记测试中的测试关联和过渡持久性行为的重要性。这样您才能及早注意到获取类型的变更或级联类型值的变更,并采取适当的措施。

  远程处理

  PetStore 应用程序设计的关键特性是它的本地特性。使应用程序的所有逻辑层运行在同一 JVM 中,这种方法具有很多优点。有关该主题的详细讨论,请参阅 Expert One-on-One J2EE Development without EJB。

  不过,应当说明的是:通过远程处理 facade,您可以轻松向应用程序添加远程处理功能。远程处理 facade(而不是我在前面描述的服务 facade)公开了一个远程界面,它具有两个职责:进行域模型和顺序数据传输对象(DTO)之间的相互转换和在服务 facade 上调用适当的方法。

  使用远程无状态会话 bean 能够实现本应用程序。唯一障碍是创建其他 DTO 层和进行它们与域模型之间相互转换。然而您需要它来确保实现整洁的界面以及与远程客户机的松散耦合。

  结束语

  EJB 3.0 和 JPA 毫无疑问将是 Java EE 5 的主要卖点。在某些领域中,它们给正常的 Java 社区带来竞争优势,并使 Java 在其他领域与竞争对手不分伯仲。(不可否认的是,目前某些领域尚不存在基于标准的方法。)

  过去数年来,Spring Framework一直是 EJB 在企业领域的主要竞争对手。EJB 3.0 规范解决了很多促进 Spring 兴起的问题。随着它的出现,EJB 3.0 毫无疑问比 Spring 提供了更好的开发体验 -- 最引人注目的优势是它不需要配置文件。

  

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: ejb EJB JPA 企业 数据库 应用程序

21/212>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网