序
如果你想快速的体验一下Cactus, 有一个 20 minutes tutorial 会带领你在Tomcat上完整的运行你的第一个Cactus测试。这个测试仅仅是让你快速的测试了一些东西,但是却没有解释Cactus如何工作或者其它一些细节内容。
我们建议你运行那个快速指南后,回到这里继续往下看,你已经看到了运行中的Cactus并且准备好理解它背后的概念和它的全部的强大功能。
安装Cactus
Cactus没一个真正安装,因为Cactus是一个框架而不是一个应用程序。可是你需要理解它是如何集成 进你的工作环境中的。 为了简单集成这个工作,Cactus提供了several integration modules。 所以,安装Cactus简单的意味着选择一个集成模块,并且学习如何配置和使用它。
系统需求
为了能运行Cactus测试,你的系统上必须已经安装下面的软件:
- Java虚拟机 一个Java1.2或以上版本兼容的虚拟机。注意,Servlet引挚的运行需要JVM,所以如果你使用了Servlet,你就必须已经安装了一个JVM。
- Servlet/J2EE引挚 一个符合Servlet 2.x/J2EE 1.x 规范的Servlet引挚,用来运行你的Cactus测试。
你也需要一个集成Cactus的开发工具。例如:你计划使用Ant集成,你就必须要安装一个Ant;如果你想从一个IDE上执行Cactus测试,那么这个IDE也是必须已经安装的;等等...
Cactus的文件
现在,你应该下载一个Cactus的分发包(选择你打算使用的J2EE API版本 ),然后将其解压到[cactus root]
目录。
你会在[cactus root]
找到下面的目录:
doc/
:包含了 Cactus网站和 API javadocs。lib/
:包含了Cactus jars和相关的扩展库。
samples/
:包含了 示例应用 ,展示如何写Cactus测试,如何自动执行它们。
samples/ejb
:包含了展示如何用Cactus写EJB单元测试的应用程序。
samples/jetty
:包含了展示如何用Cactus写Servlet和Jetty(使用
JettyTestSetup
扩展)单元测试的应用程序。samples/servlet
:contains a sample application showing how to test Servlet/JSPs/Taglibs with Cactus. 包含了展示如何用Cactus写Servlet/JSPs/Taglibs单元测试的应用程序。
web/
:包含了JSP redirector文件,如果你使用manual integration时,你需要这个文件。
补充Cactus的Jar包是:
cactus.jar
: 主要的Jar包,包含了框架的类,你可以在[cactus root]/lib
下面找到它。cactus-ant.jar
:这个Jar包包含了一些自定义的Ant任务,以便于更容易的跟Ant进行集成。它仅仅在你想使用Ant来自动运行Cactus测试时才需要。关于更多的将Cactus与Ant集成在一起的信息,请看Ant Howto指南。你可在在[cactus root]/lib
下找到这个Jar包。httpclient.jar
: Cactus 依赖Jakarta Commons HttpClient框架处理Cookie。junit.jar
: Cactus扩展了JUnit,所以需要JUnit jar.aspectjrt.jar
: Cactus 使用AspectJ 完成了一些任务(记录方法的进入和退出,检查配置等等)。commons-logging.jar
: Cactus 使用Jakarta Commons Logging 框架为Cacuts提供与现存的日志框架进行无缝的连接。 Commons HttpClient框架也需要它。servletapi.jar
: 编译Servelt例子时需要它。最理想的是我们应该集成J2EE Jar包(编译EJB例子时会用到),可是Sun的license不允许我们再次分发它,所以你得自己下载去了(请看 Sample howto 页面)。httpunit.jar
:Cactus使用HttpUnit框架完成complex assertions of returned responses 。 Cactus也集成了一个默认的Web响应对象,但是HttpUnit被用来完成复杂的断言。nekohtml.jar
: HttpUnit需要它。
下一步做什么?
现在,你应该理解Cactus是什么,它是如何工作的了。
选择一个你希望在你的开发环境中使用的 Cactus integration module,详细阅读它是如何工作的和如何使用它。
然后,你应该阅读TestCase Howto来理解如何编写Cactus测试用例。
最后一步,你或许可能通过running the Cactus Samples 来进行实践了,毕竟你也学了那么久了。
Enjoy!