<servlet>
<servlet-name>ServletRedirector</servlet-name>
<servlet-class>org.apache.cactus.server.ServletTestRedirector</servlet-class></servlet>
<servlet-mapping>
<servlet-name>ServletRedirector</servlet-name>
<url-pattern>/ServletRedirector</url-pattern>
</servlet-mapping>
此外,服务器和客户端都需要在它们的运行时类路径中包含JUnit、Cactus和测试类。一般说来,您要把Cactus和JUnit JAR添加到您的应用程序的APP-INF/lib目录。您还可以使用Ant任务把运行您的测试所需的所有类都打包成一个EAR文件。启动JUnit客户端进程时,您需要使用-Dcactus.contextURL=SomeURL来指定Cactus在连接到服务器时应该使用的URL。想要了解更多信息,请参见。
Enterprise Java Bean(EJB)
如果您调用EJB的生产代码作为EJB实例运行在同一个虚拟机内部,您可以通过使用Cactus使您的测试环境更加近似地匹配您的生产环境。这正如下面的例子所示。aix weblogic 安装
EJB示例
在这个例子中,上面用于外部组件测试的EJB测试已经被转换成在服务器内部运行。您可以在{UnitTestingWeb}/ejb/CactusEJBTest.java 上找到演示Cactus的EJB测试。它位于一个web项目内,以便可以部署给服务器,尽管将JAR文件构建到APP-INF/lib目录中的Java项目也将被部署给服务器。这次测试的一个代码片断如下所示:
public class CactusEJBTest extends ServletTestCase
{
private SampleSessionHome lookupHome() throws NamingException {
Context ctx = getInitialContext();
// Lookup the bean's home using JNDI
Object home = ctx.lookup("ejb.SampleSessionRemoteHome");
return (SampleSessionHome) narrow(home, SampleSessionHome.class);
}
private Object narrow(Object ref, Class c) {
return PortableRemoteObject.narrow(ref, c);
}
private Context getInitialContext() throws NamingException {
System.out.println( "getInitialContext()" );
// Set up the environment properties
Hashtable h = new Hashtable();
h.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-31119-11.html