j2ee项目实训struts框架技术——第9章基于struts框架的单元测试技术第2部分内容摘要:

st 和 HttpServletResponse 对象。 StrutsTestCase框架都会创建出这些模拟对象,并把它们传递给 Struts 框架系统。 2) MockStrutsTestCase 基类 如果开发者需要采用 StrutsTestCase 框架所提供的容器外模拟测试的方法,测试用例类就必须从 MockStrutsTestCase 基类进行继承而不再从标准的 JUnit 中的 TestCase 基类继承。 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 5/11 页 3) MockStrutsTestCase 类与 TestCase 类之间的关系 MockStrutsTestCase 类是一个扩展了 类的 JUnit 测试用例,所以每个测试用例都会执行 setup()方法。 在 MockStrutsTestCase 对象的 setup() 方法中, StrutsTestCase 框架创建出 ActionServlet 对象和其他在测试过程中所必需的其他模拟对象。 4)模拟方式的优势与不足 1) 优势:速度快、测试效率高。 因为不必每次执行测试用例代码时而频繁地启动和停止应用服务器容器。 2) 不足:无法全面地反映出 Web 应用系统中的所有方面的问题,而且由于没有使用真正的 Servlet 容器,所以无法验证 Web 监听器或过滤器的功能实现正确性;另外,由于没有执行真正的 JSP 页面组件中的代码,所以也无法发现内嵌在 JSP 页面中的相关错误。 StrutsTestCase 框架所提供的容器内测试方法( Cactus 方法) 1)一般用于集成测试阶段 由于在应用容器内的测试方法时,需要启动 Servlet 容器的服务器,因此这种方法一般用于 Web 应用系统的集成测试阶段。 在这种方法中, Web 应用程序要部署在容器中,然后就可以像运行其他 JUnit 测试用例那样运行测试用例。 2) CactusStrutsTestCase 基类 当然,如果开发者需要采用 StrutsTestCase 框架所提供的容器内测试的方法,测试用例类就必须从 CactusStrutsTestCase 基类进行继承,也不能再从标准的 JUnit 中的TestCase 基类继承。 该方式的主要优点在于可以实现与实际的用户应用环境相互一致的测试环境,能够全面地了解系统在实际运行环境中所可能出现的各种问题。 应用 StrutsTestCase 框架技术 StrutsTestCase 框架的系统 包及有关的资源文件 在 StrutsTestCase 框架的官方网站 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 6/11 页 载 StrutsTestCase 框架的系统包的 *.zip 文件。 请见图 所示的操 作结果。 图 下载 StrutsTestCase 框架的系统 包的 *.zip 文件 系统包文件下载成功后,然后再解包它的各个类,获得如图 所示的结果目录及文件。 其中主要的系统包文件为 ,并且将其放在 Web 应用系统的WEBINF/lib 目录中。 图 解包下载的 StrutsTestCase 系统 包的 *.zip 文件后的结果图示 在 StrutsTestCase 框架的系统 包的 *.zip 文件中,也提供了有关的 API 帮助文档以辅助开发过程中的查询,请见图 所示 的 API 帮助文档的图示。 图 StrutsTestCase 框架中的 API 帮助文档 此外,还提供了针对 MockStrutsTestCase 的测试示例程序 ,以及针对 CactusStrutsTestCase 的测试示例程序。 通过阅读这些测试示例程序 ,可以了解其编程方法。 请见图 所示的 examples 目录中的各个文件内容。 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 7/11 页 图 examples 目录中所提供的各个测试示例程序 读者可以通过阅读 examples 目录中所提供的 文件中的内容来了解执行该示例的环境和要求等方面的信息。 请见图 所示的 文件中的内容图示。 图 examples 目录中所提供的 文件中的内容图示 StrutsTestCase 框架 模拟测试方式的工作过程 1)基于模拟测试方式的代码示例 为了能够说清 StrutsTestCase 框架模拟测试方式的工作过程,下面【例 96】中给出一段针对【例 95】中示例 UserInfoAction 组件类的测试用例中的某一个测试方 法的代码,然后给出详细的说明。 【例 96】基于模拟测试方式的代码示例 public void tes。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。