介紹 Cargo
好消息是可以在之前的列表中使所有主要設置步驟自動化。事實上,如果恰好從事過 Java Web 開發,可能已經用 Ant、Maven 或其他構建工具使步驟 1 自動化了。
步驟 2 卻是一個有趣的障礙。自動化一個 Web 容器還是需要一定技巧的。例如,一些容器具有定制的 Ant 任務,這些任務方便了其自動部署及運行,但這些任務是特定于容器的。而且,這些任務還有一些假設,如容器的安裝位置,還有更重要的是,容器已被安裝。
Cargo 是一個致力于以通用方式自動化容器管理的創新型開源項目,因而用于將 WAR 文件部署到 JBoss 的相同的 API 也能夠啟動及停止 Jetty。Cargo 也能自動下載并安裝一個容器?梢砸圆煌姆绞嚼 Cargo 的 API,從 Java 代碼到 Ant 任務,再到 Maven 目標。
運用一個如 Cargo 這樣的工具,應對了在編寫合乎邏輯可重復的測試用例中遇到的主要問題之一。另外,還可以構造一個構建用于駕馭 Cargo 的功能以 自動地完成下列任務:
安裝該容器。