使用 JUnit 进行容器内测试(常用的两种测试方法)

了解使用 JUnit 进行容器内测试如何优于模拟对象进行集成测试,以及如何使用 Oracle JDeveloper 来应用该技术。

单元测试作为一种确保代码质量的技术现如今非常流行。由于有了 JUnit 框架,因此为简单的 Java 应用程序编写单元测试就变得容易多。然而,对于真实世界的企业应用程序来说,因为这些应用程序需要对象在容器内运行,所以常用的 JUnit                                         testXXX() 方法不是很管用。                                    

在本文中,为了让 JUnit 测试访问在 J2EE 容器内运行的对象,我将介绍容器内测试的应用。此处使用的示例应用程序是一个基于 Struts 的 Web 应用程序,这种应用程序在企业应用程序中相当普遍,但是所讨论的技术却与所有 J2EE 项目都相关。

 

 

模拟对象                                     模拟真实世界中的 J2EE 对象。为了在一个没有容器运行的 JUnit 测试中使用这些对象,需要一个框架(如 MockObjects,http://www.mockobjects.com)提供某些 J2EE API 的特殊实现。例如,它提供“MockHttpServletRequest”对象。                                    

容器内测试                                     使 JUnit 测试可以在 J2EE 容器内运行。为了实现此目标,根据所用工具的不同(在本文中为 Cactus 和 HttpUnit),有时需要稍微修改要测试的 J2EE 应用程序。

本文将重点讨论第二中方法,因为使用此方法可以轻松地建立和执行“现实生活”测试。容器内测试的代码编写工作较少,并且会增加一层在实践中非常有用的集成测试。从本作者的观点来看,当前的模拟对象框架还有待成熟且文档欠缺。容器内测试的缺点则在于,由于需要在 J2EE 服务器上部署应用程序,因此该种测试运行速度较慢;不过因为 OC4J 的启动速度相当快,所以对它来说应该不是什么问题。

 

 

 

原文地址:

http://www.oracle.com/technetwork/cn/tutorials/server-side-unit-tests-082721-zhs.html

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值