Hi,

Seen the stacktrace, your problem seems to be related to either Struts
or StrutsTestCase. I personally have never used StrutsTestCase. You may
want to send this email to the StrutsTestCase mailing list/forum. There
may also be some other StrutsTestCase users lurking on this list...

You could also look at line 193 of
org.apache.struts.util.MessageResourcesFactory.java class to see what's
going on.
 
-Vincent

> -----Original Message-----
> From: MCG QA [mailto:[EMAIL PROTECTED]
> Sent: 29 March 2004 22:22
> To: [EMAIL PROTECTED]
> Subject: What am I missing? Please Help!
> 
> I know i'm missing something. Can anybody tell me why
> am I getting this error? Any help is appreciated:
> 
> error message="A NullPointerException was thrown. This
> may indicate an error in your ActionForm, or it may
> indicate that the Struts ActionServlet was unable to
> find struts config file. TestCase is running from
> C:\Tomcat5.0\bin directory."
>
type="org.apache.cactus.client.ServletExceptionWrapper">servletunit.stru
ts
> .ExceptionDuringTestError:
> A NullPointerException was thrown. This may indicate
> an error in your ActionForm, or it may indicate that
> the Struts ActionServlet was unable to find struts
> config file.
> 
> Exception from the Container Console:
> 
> - MessageResourcesFactory.createFactory
> java.lang.ClassCastException:
> org.apache.struts.util.PropertyMessageResourcesFac
> tory
>         at
> org.apache.struts.util.MessageResourcesFactory.createFactory(MessageR
> esourcesFactory.java:193)
>         at
> org.apache.struts.util.MessageResources.getMessageResources(MessageRe
> sources.java:576)
>         at
> org.apache.struts.util.RequestUtils.<clinit>(RequestUtils.java:134)
>         at
> org.apache.struts.util.MessageResourcesFactory.createFactory(MessageR
> esourcesFactory.java:192)
>         at
> org.apache.struts.util.MessageResources.getMessageResources(MessageRe
> sources.java:576)
>         at
> org.apache.struts.action.ActionServlet.initInternal(ActionServlet.jav
> a:1329)
>         at
> org.apache.struts.action.ActionServlet.init(ActionServlet.java:464)
>         at
> javax.servlet.GenericServlet.init(GenericServlet.java:256)
>         at
> servletunit.struts.CactusStrutsTestCase.getActionServlet(CactusStruts
> TestCase.java:451)
>         at
> servletunit.struts.CactusStrutsTestCase.actionPerform(CactusStrutsTes
> tCase.java:510)
>         at
> com.mgh.mhhe.web.action.DoLoginActionTest.testSuccessfulLogin(DoLogin
> ActionTest.java:27)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
>         at
> java.lang.reflect.Method.invoke(Method.java:324)
>         at
> junit.framework.TestCase.runTest(TestCase.java:154)
>         at
> junit.framework.TestCase.runBare(TestCase.java:127)
>         at
> org.apache.cactus.ServletTestCase.runCactusTest(ServletTestCase.java:
> 295)
>         at
> org.apache.cactus.ServletTestCase.runBare(ServletTestCase.java:263)
>         at
> org.apache.cactus.server.AbstractWebTestCaller.doTest(AbstractWebTest
> Caller.java:156)
>         at
> org.apache.cactus.server.AbstractWebTestController.handleRequest_arou
> ndBody0(AbstractWebTestController.java:130)
>         at
> org.apache.cactus.server.AbstractWebTestController.handleRequest_arou
> ndBody1$advice(AbstractWebTestController.java:158)
>         at
> org.apache.cactus.server.AbstractWebTestController.handleRequest(Abst
> ractWebTestController.java)
>         at
> org.apache.cactus.server.ServletTestRedirector.doPost_aroundBody2(Ser
> vletTestRedirector.java:138)
>         at
> org.apache.cactus.server.ServletTestRedirector.doPost_aroundBody3$adv
> ice(ServletTestRedirector.java:158)
>         at
> org.apache.cactus.server.ServletTestRedirector.doPost(ServletTestRedi
> rector.java)
>         at
> org.apache.cactus.server.ServletTestRedirector.doGet_aroundBody0(Serv
> letTestRedirector.java:109)
>         at
> org.apache.cactus.server.ServletTestRedirector.doGet_aroundBody1$advi
> ce(ServletTestRedirector.java:158)
>         at
> org.apache.cactus.server.ServletTestRedirector.doGet(ServletTestRedir
> ector.java)
>         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
>         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:284)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:204)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> alve.java:257)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
> eContext.java:151)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
> a:567)
>         at
> org.apache.catalina.core.StandardContextValve.invokeInternal(Standard
> ContextValve.java:245)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> alve.java:199)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
> eContext.java:151)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
> a:567)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> ava:184)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
> eContext.java:151)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> ava:164)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
> eContext.java:149)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
> a:567)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> ve.java:156)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
> eContext.java:151)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
> a:567)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
> 
>         at
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:20
> 6)
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
> :833)
>         at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
> ssConnection(Http11Protocol.java:732)
>         at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
> :619)
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
> ool.java:688)
>         at java.lang.Thread.run(Thread.java:536)
> 
> 
> My Env:
> JDK 1.4
> Tomcat 5.0
> StrutsTestCase 2.1.0
> 
> my webapp is mhxhex
> the structure is
> mhxhex
>    |---- jsp
>    |---- media
>    |---- META-INF
>    |---- WEB-INF
> 
> WEB-INF contains:
>  web.xml
>   |--- classes
>   |--- config (Struts-config.xml, tiles-defs.xml,
> validation.xml,validator-rules.xml, cactus.properties)
>   |--- lib (all JAR files required by the project)
>   |--- tlds
> 
> My testcase is
> package com.mgh.mhhe.web.action;
> 
> import org.apache.cactus.*;
> import servletunit.*;
> import servletunit.struts.*;
> import junit.framework.*;
> import junit.extensions.*;
> import org.apache.struts.action.*;
> 
> 
> public class DoLoginActionTest extends
> CactusStrutsTestCase {
> 
>     private DoLoginAction DoLogin;
> 
>     public DoLoginActionTest(String testName) {
>         super(testName);
>     }
> 
>     public void testSuccessfulLogin() {
>        setRequestPathInfo("/submitLoginAction");
> 
> addRequestParameter("email","[EMAIL PROTECTED]");
>        addRequestParameter("password","12345678");
>        actionPerform();
>        verifyForward("success");
>          verifyForwardPath("site.index");
>        verifyNoActionErrors();
>     }
> 
>     public static void main(String[] args) {
> 
> junit.textui.TestRunner.run(DoLoginActionTest.class);
>     }
> }
> 
> __________________________________
> Do you Yahoo!?
> Yahoo! Finance Tax Center - File online. File on time.
> http://taxes.yahoo.com/filing.html
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to