追求代码质量 - 可重复的系统测试 - 编程入门网
所有相关 Web 内容,如 JSP 文件、servlet、第三方的 jar 文件、图像等。
将此 war 文件部署到目标 Web 容器中。(如果该容器尚未启动,启动该容 器。) 启动任何相关的数据库。(如果需要更新数据库模式,在启动前进行更新。 ) 现在,对于一个微不足道的小测试要做大量的辅助性工作!如果证明这个过 程是耗时的,那么您认为这个测试会间隔多长时间运行一次呢?面对要使系统测 试在逻辑上可重复(在一个连续的集成环境中)这一需求,这个步骤列表的确令 人望而生畏。 介绍 Cargo 好消息是可以在之前的列表中使所有主要设置步骤自动化。事实上,如果恰 好从事过 Java Web 开发,可能已经用 Ant、Maven 或其他构建工具使步骤 1 自动化了。 步骤 2 却是一个有趣的障碍。自动化一个 Web 容器还是需要一定技巧的。 例如,一些容器具有定制的 Ant 任务,这些任务方便了其自动部署及运行,但 这些任务是特定于容器的。而且,这些任务还有一些假设,如容器的安装位置, 还有更重要的是,容器已被安装。 Cargo 是一个致力于以通用方式自动化容器管理的创新型开源项目,因而用 于将 WAR 文件部署到 JBoss 的相同的 API 也能够启动及停止 Jetty。Cargo 也能自动下载并安装一个容器。可以以不同的方式利用 Cargo 的 API,从 Java 代码到 Ant 任务,再到 Maven 目标。 运用一个如 Cargo 这样的工具,应对了在编写合乎逻辑可重复的测试用例中 遇到的主要问题之一。另外,还可以构造一个构建用于驾驭 Cargo 的功能以 自 动地完成下列任务: 追求代码质量 - 可重复的系统测试(4)时间:2010-12-09 IBM Andrew Glover下载一个所期望的容器。 安装该容器。 启动该容器。 将一个选定的 WAR 或 EAR 文件部署到该容器中。 很简单,是吧?接下来,您还能够用 Cargo 停止一个选定的容器。 “谈谈” Cargo 在深入 Cargo 前,最好先了解一下 Cargo 的基础知识。也就是说,由于 Cargo 与容器及容器管理相关,所以要理解了容器及容器管理的有关概念。 对于新手,显然要先了解容器 的概念。容器是用以寄存应用程序的服务器。 应用程序可以是基于 Web 的,基于 EJB 的,或基于这两者的,这就是为什么有 Web 容器和 EJB 容器的原因。Tomcat 是 Web 容器,而 JBoss 则会被认为是 EJB 容器。因此,Cargo 支持相当多的容器,但在我的例子中,我将使用 Tomcat 5.0.28 版。(Cargo 将称其为“tomcat5x”容器。) 接下来,如果尚未安装容器,可以使用 Cargo 来下载并安装一个特定的容器 。为此,需要提供给 Cargo 一个下载 URL。一旦安装了容器,Cargo 也会允许 使用配置选项 来对其进行配置。这些选项以名称-值对的形式存在。 最后,要介绍可部署资源 的概念,在我的例子中即 WAR 文件。请注意 EAR 文件也是一样的简单。 将这些概念记住,让我们来看一下可以用 Cargo 来完成什么任务。 Cargo 实践 本文中的例子涉及到在 Ant 中使用 Cargo,这就必需将之前定义的系统测试 和 Cargo Ant 任务包装在一起。这些任务随后安装、启动、部署并停止容器。 我们将首先进行安装设置,运行测试然后停止容器。 在 Ant 构建中使用 Cargo 所需的第一步是提供一个针对所有的 Cargo 任务 的任务定义。这一步允许随后在构建文件中引用 Cargo 任务。应付这一步有很 多的方法。清单 3 简单地装载了来自 Cargo JAR 文件中的属性文件的任务: 清单 3. 在 Ant 中装载所有的 Cargo 任务
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |