cactus+jetty的问题?困扰了很久。
我的环境是j2sdk1.4+cactus1.7+jetty5.1
我按照JUnit in Action 第8章的例子,写了如下代码:
===================================================
package testfk8020.container.cactus;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
public class SampleServlet extends HttpServlet {
public boolean isAuthenticated(HttpServletRequest request){
HttpSession session=request.getSession(false);
if(session==null){
return false;
}
String authenticationAttribute=(String)session.getAttribute("authenticated");
return Boolean.valueOf(authenticationAttribute).booleanValue();
}
}
-------------------------------------------------------------------------------------
package testfk8020.container.cactus;
import org.apache.cactus.ServletTestCase;
import org.apache.cactus.WebRequest;
public class TestSampleServletIntegration extends ServletTestCase {
private SampleServlet servlet;
/*
* @see TestCase#setUp()
*/
protected void setUp(){
servlet=new SampleServlet();
}
public void testIsAuthenticatedAuthenticated(){
session.setAttribute("authenticated","true");
assertTrue(servlet.isAuthenticated(request));
}
public void testIsAuthenticatedNotAuthenticated(){
assertFalse(servlet.isAuthenticated(request));
}
public void beginIsAuthenticatedNoSession(WebRequest request){
request.setAutomaticSession(false);
}
public void testIsAuthenticatedNoSession(){
assertFalse(servlet.isAuthenticated(request));
}
}
----------------------------------------------------------------------------------------
package testfk8020.container.cactus;
import org.apache.cactus.extension.jetty.JettyTestSetup;
import junit.framework.Test;
import junit.framework.TestSuite;
public class TestAllWithJetty {
public static Test suite(){
System.setProperty("cactus.contextURL","http://localhost:8080/test");
TestSuite suite=new TestSuite("All tests with Jetty");
suite.addTestSuite(TestSampleServletIntegration.class);
return new JettyTestSetup(suite);
}
}
=======================================================================
可是当我在Eclipse中运行junit test的时候,TestAllWithJetty的(TestSampleServletIntegration.class)这一步总是报:
Failed to invoke suite(): java.lang.ExceptionInInitializerError
请问是什么原因!!!!!!!!!!!!!!!!!!