• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

An uncaught exception was thrown during actionExecute() -JUNIT

 
Ranch Hand
Posts: 207
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I am getting an error while testing Action Class using JUNIT(WSAD 5.1.2)
Details of error are as given below :

servletunit.struts.ExceptionDuringTestError: An uncaught exception was thrown during actionExecute()
at servletunit.struts.CactusStrutsTestCase.actionPerform(CactusStrutsTestCase.java:546)




JUNIT TEST CLASS cose is as given below :

public class PAActionTest extends CactusStrutsTestCase
{

public PAActionTest(String name)
{
super(name);
}

public void setUp() throws Exception
{
super.setUp();
setConfigFile("/WEB-INF/struts-config-pricing.xml");
UserProfile up=new UserProfile();
up.setUserId(1);
up.setUserName("ngd_user");
up.setOrgId(35);
up.setOrgName("TEST BORG Performance");
UserContainer userContainer=new UserContainer();
userContainer.setUserProfile(up);
session.setAttribute(UserContainer.USER_CONTAINER_KEY, userContainer);
}

public void tearDown() throws Exception
{
super.tearDown();
}



public void testSession()
{

UserProfile profile=SessionDAOFactory.getUserProfile(request);
setRequestPathInfo("/pricingMain");
actionPerform();
/verifyNoActionErrors();
verifyNoActionMessages();
verifyForward("success");


}

public static void main(String[] args)
{
junit.swingui.TestRunner.run(PAActionTest.class);
}

}


Code snippets from STRUTS CONFIG FILE(struts-config-pricing.xml):


<action
path="/pricingMain"
name="pAActionForm"
type="com.sbc.dcomm.ui.cart.pa.actions.PAAction"
parameter="method">
<forward name="success" path="/cart/pa/paMain.jsp"/>
</action>


Could you please look into this and explain to me the solution ?
 
Ranch Hand
Posts: 108
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
First things first: run your server in debug mode, and place a breakpoint at the start of your test case. Step through/into the code until you find the exact line that is throwing an exception. Then we'll talk
 
thomas davis
Ranch Hand
Posts: 207
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
It's throwing an error at the line where actionPerform() is executed.

A few lines of stack trace from application console are as given below :

[12/20/04 20:10:00:719 IST] cab426 WebGroup I SRVE0180I: [dcomm-ui] [/dcomm-ui] [Servlet.LOG]: ServletRedirector: init
[12/20/04 20:10:00:719 IST] cab426 PropertyMessa I org.apache.struts.util.PropertyMessageResources Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
[12/20/04 20:10:00:766 IST] cab426 RequestProces W org.apache.struts.action.RequestProcessor Unhandled Exception thrown: class javax.servlet.ServletException

JUNIT ERROR STACK TRACE :

servletunit.struts.ExceptionDuringTestError: An uncaught exception was thrown during actionExecute()
at servletunit.struts.CactusStrutsTestCase.actionPerform(CactusStrutsTestCase.java:546)
at com.sbc.dcomm.ui.cart.pa.actions.PAActionTest.testSession(PAActionTest.java:73)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:41)
at java.lang.reflect.Method.invoke(Method.java:386)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at org.apache.cactus.internal.AbstractCactusTestCase.runBareServer(AbstractCactusTestCase.java:153)
at org.apache.cactus.internal.server.AbstractWebTestCaller.doTest(AbstractWebTestCaller.java:119)

If you need any more info ,please feel to write ...
 
Fletcher Estes
Ranch Hand
Posts: 108
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
It says the exception was thrown during actionExecute() - but it is possible to step into this method to see exactly what line of code caused the exception. If you don't want to step into all these methods, put a breakpoint at the start of your PAAction (I presume this is the action being called by your test case).

If you get to that breakpoint, then you'll be able to step through to the underlying problem. If you never get to that breakpoint, then you know you have a configuration issue with StrutsTestCase.
 
reply
    Bookmark Topic Watch Topic
  • New Topic