介绍 Cargo
好消息是可以在之前的列表中使所有主要设置步骤自动化。事实上,如果恰好从事过 Java Web 开发,可能已经用 Ant、Maven 或其他构建工具使步骤 1 自动化了。
步骤 2 却是一个有趣的障碍。自动化一个 Web 容器还是需要一定技巧的。例如,一些容器具有定制的 Ant 任务,这些任务方便了其自动部署及运行,但这些任务是特定于容器的。而且,这些任务还有一些假设,如容器的安装位置,还有更重要的是,容器已被安装。
Cargo 是一个致力于以通用方式自动化容器管理的创新型开源项目,因而用于将 WAR 文件部署到 JBoss 的相同的 API 也能够启动及停止 Jetty。Cargo 也能自动下载并安装一个容器。可以以不同的方式利用 Cargo 的 API,从 Java 代码到 Ant 任务,再到 Maven 目标。
运用一个如 Cargo 这样的工具,应对了在编写合乎逻辑可重复的测试用例中遇到的主要问题之一。另外,还可以构造一个构建用于驾驭 Cargo 的功能以 自动地完成下列任务:
安装该容器。