Yes, Nicholas and David are right, you have a problem of location of jar. Each webapp is completely independent of another one in term of classloading. In other words you cannot put the Cactus framework in a separate WAR; it needs to be in the war where you test classes AND classes under test are located, as in :
lance.war |_ WEB-INF/lib |_ cactus.jar |_ junit.jar |_ struts.jar |_ WEB-INF/classes |_ classes under test + test classes |_ WEB_INF/web.xml Note 1: Do not provide servlet.jar as it is provided by your application server (by weblogic.jar in the case of weblogic). Note 2: I don't understand the sentence "whose properties map to WEB-INF/lib" -Vincent > -----Original Message----- > From: Pavan Aripirala Venkata [mailto:[EMAIL PROTECTED]] > Sent: 14 December 2001 19:17 > To: Cactus Users List > Subject: RE: Cactus : Struts > > I have cactus.jar, junit.jar and servlet.jar in WEB_INF/lib > directory. Actually in a war file called cactus_lance.war file. This war > file also contains the Cactus and struts test classes. > There is a another war file - lance.war - which contains > struts.jar file, whose properties map to WEB_INF/lib. The actual classes > to be tested are present in this war file. This web.xml file in this war > file contains the Redirector mappings. > All the above is w.r.t server. On the client end - struts.jar, > cactus.jar, httpclient.jar and the directory containing > cactus.properties file in the classpath and this classpath is specified > through the ant scripts and therefore are not in the system classpath. > System classpath has none of the jar files or even our product > classes. Everything is specified in ant. All that is there in the system > classpath is the weblogic home, java home and ant home. > Hopefully this info suffices. > Thanks Vincent > > Pavan. > > > -----Original Message----- > From: Vincent Massol [mailto:[EMAIL PROTECTED]] > Sent: Thursday, December 13, 2001 10:59 AM > To: 'Cactus Users List' > Subject: RE: Cactus : Struts > > > You need to be more precise. Where is the struts.jar located _exactly_ > and where are the cactus.jar, junit.jar ? Do you have any jar in the > system classpath and if so, which ones ? > > It seems your problem is related to classloaders, which is why I'm > asking these questions. > > thanks > -Vincent > > > -----Original Message----- > > From: Pavan Aripirala Venkata [mailto:[EMAIL PROTECTED]] > > Sent: 13 December 2001 18:26 > > To: Cactus Users List > > Subject: RE: Cactus : Struts > > > > Yes all the related jar files are in the classpath or in > WEB-INF/lib > > directory. The only jar I added is the Struts.jar file. > > > > Pavan. > > > > > > -----Original Message----- > > From: Vincent Massol [mailto:[EMAIL PROTECTED]] > > Sent: Wednesday, December 12, 2001 2:40 PM > > To: 'Cactus Users List' > > Subject: RE: Cactus : Struts > > > > > > Hi Pavan, > > > > Hum ... not sure what is happening here. Are you sure that struts or > any > > other jar is not in your weblogic system classpath ? > > > > -Vincent > > > > > -----Original Message----- > > > From: Pavan Aripirala Venkata [mailto:[EMAIL PROTECTED]] > > > Sent: 11 December 2001 00:24 > > > To: Cactus Users List > > > Subject: RE: Cactus : Struts > > > > > > Hi I used the StrutsTestCase.java to test one of my struts > > > class. I have struts.jar file in WEB-INF/lib directory of weblogic > 6.0 > > > server. I am getting the following exception in the setUp() method : > > > > > > [java] java.lang.NoClassDefFoundError: > > > org/apache/struts/action/ActionFormBeans > > > [java] at > > > com.ejemoni.qa.struts.TestLogonStrut.setUp(TestLogonStrut.java:93) > > > [java] at > > > > > > org.apache.cactus.AbstractTestCase.runBareServerTest(AbstractTestCase.ja > > > va:454) > > > [java] at > > > > > > org.apache.cactus.server.AbstractTestCaller.doTest(AbstractTestCaller.ja > > > va:137) > > > [java] at > > > org.apache.cactus.server.AbstractTestController.handleRequest > > > (AbstractTestController.java:122) > > > [java] at > > > org.apache.cactus.server.ServletTestRedirector.doPost(Servlet > > > TestRedirector.java:134) > > > > > > At this line > > > ActionFormBeans formBeans = > > > (ActionFormBeans) > > > context.getAttribute(Action.FORM_BEANS_KEY); > > > > > > If I do > > > Object tmpObj = context.getAttribute(Action.FORM_BEANS_KEY); > > > and if I print this object, it is showing that the type of object is > > > org.apache.struts.action.ActionFormBeans > > > but however if I cast it > > > ActionFormBeans formBeans = > > > (ActionFormBeans) tmpObj; > > > then again the above exception is being thrown > > > I am able to run the EJB tests using cactus, but I am unable to > > > run the tests for struts. Could someone please help me in this > regard? > > > Thanks > > > > > > Pavan. > > > > > > -----Original Message----- > > > From: Erik Hatcher [mailto:[EMAIL PROTECTED]] > > > Sent: Friday, November 09, 2001 1:51 PM > > > To: [EMAIL PROTECTED] > > > Cc: [EMAIL PROTECTED] > > > Subject: Re: Cactus : Struts > > > > > > > > > First, I'd like to thank Nick for the great work on the code he sent > > to > > > the > > > list. > > > > > > I wanted to get something officially submitted to Struts or Cactus, > so > > I > > > took what Nick provided and based the attached StrutsTestCase > loosely > > on > > > it. > > > I wanted to do away with the mock ActionServlet inner class, so I > just > > > use > > > the instance of the actual servlet provided by the ActionMappings > put > > in > > > application scope. > > > > > > I did not implement all the methods that Nick had as I wanted to > start > > > small > > > and build up to it. I borrowed his assertNoErrors code. In this > > > version > > > you can assert that there are no ActionErrors (after a validate or > > after > > > an > > > Action.perform), and you can assert that the desired ActionForward > > > (currently only by name, not path) is returned. I wanted to go > ahead > > > and > > > toss this out for general review by both the Struts and Cactus > > > communities. > > > I package scoped it for inclusion in the Cactus project, but if its > > more > > > appropriate to submit to Struts thats fine. This ought to stir up > > some > > > dependency issues between the two projects, since struts.jar will be > > > needed > > > to compile Cactus if this is accepted there! :) > > > > > > Future work on this would include adding more assert capabilities > such > > > as > > > Nick has in his code. > > > > > > I almost stopped work on this when I saw Deryl's post this morning - > > > very > > > fine job, Deryl! But in my case I need the in-container testing > > because > > > our > > > Actions are dependent on EJB's and could not run without a > container. > > > > > > Let me know if I've just re-invented the wheel, and if not which > > project > > > wants it (I'm lobbying for Cactus hopefully, and not leave it > dangling > > > without a home), any issues with the base class, other features > > desired, > > > etc. > > > > > > Thanks, > > > Erik > > > > > > > > > Here is a sample test case using this StrutsTestCase: > > > > > > package antbook.struts; > > > > > > import org.apache.cactus.struts.StrutsTestCase; > > > > > > public class SearchTest extends StrutsTestCase { > > > public SearchTest (String name) { > > > super(name); > > > } > > > > > > public void testSearch() throws Exception { > > > setActionPath("/search"); > > > SearchForm searchForm = (SearchForm) getActionForm(); > > > searchForm.setQuery("abc"); > > > > > > performValidate(); > > > assertNoErrors("After validate"); > > > > > > performAction(); > > > assertNoErrors("After perform"); > > > assertActionForward("success"); > > > } > > > } > > > > > > ----- Original Message ----- > > > From: "Nick Chalko" <[EMAIL PROTECTED]> > > > To: <[EMAIL PROTECTED]> > > > Sent: Thursday, October 25, 2001 1:49 PM > > > Subject: Cactus : Struts > > > > > > > > > > > > > > > > > > Here is the extension I wrote. I am still trying to get this > > released > > > Open > > > > Source. > > > > > > > > Note that I have a internal class to wrap the action servlet, to > > > return > > > the > > > > action forward, > > > > instead of the response. > > > > This also allows me to use the actual struts-congif.xml. > > > > > > > > If there is interest I think I can get my company to donate it to > > > struts. > > > > > > > > > -- > > > To unsubscribe, e-mail: <mailto:cactus-user- > > > [EMAIL PROTECTED]> > > > For additional commands, e-mail: <mailto:cactus-user- > > > [EMAIL PROTECTED]> > > > > > > > > > > > > > -- > > To unsubscribe, e-mail: > > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > > <mailto:[EMAIL PROTECTED]> > > > > > > -- > > To unsubscribe, e-mail: <mailto:cactus-user- > > [EMAIL PROTECTED]> > > For additional commands, e-mail: <mailto:cactus-user- > > [EMAIL PROTECTED]> > > > > > -- > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > > > -- > To unsubscribe, e-mail: <mailto:cactus-user- > [EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:cactus-user- > [EMAIL PROTECTED]> > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
