I have a Delegate pattern layer that all actions communicate with. But this action in particular, does not need anything except to create a POJO and add it to session.
-----Original Message----- From: Leandro Melo [mailto:[EMAIL PROTECTED] Sent: Thursday, August 26, 2004 9:23 AM To: Struts Users Mailing List Subject: Re: Help with Cactus StrutsTestCase Doesn`t know the answer, where can i find a good tutorial do test struts applications? Is it true that for good testing the actions must delegate their work to POJOs ?? --- [EMAIL PROTECTED] escreveu: > I am trying to write test cases for my Struts app, > but can't seem to figure it out. > I have used the examples, but I don't seem to get > the correct outcome when I run them. > > I am using LookupDispatchAction's exclusively. > > So here is the method I am testing: > ========================== > public void productSelectionAction( > ActionMapping mapping > , ActionForm > form > , > HttpServletRequest request > , > HttpServletResponse response ) { > log.info( "Process CreditApplicationActions > productSelectionAction(...)" ); > > NavigationBean navigationBean = ( > NavigationBean )request.getSession().getAttribute( > "navigationBean" ); > if( navigationBean == null ) { > navigationBean = new NavigationBean(); > } > > if( Constants.TRUE.equals( > request.getParameter( Constants.BUS_LINE_SELECTED ) > ) ) { > navigationBean.setHasBusinessLine( true > ); > } else { > request.getSession().setAttribute( > "businessLineForm", null ); > navigationBean.setHasBusinessLine( false > ); > } > > if( Constants.TRUE.equals( > request.getParameter( Constants.BUS_CARD_SELECTED ) > ) ) { > navigationBean.setHasBusinessCard( true > ); > } else { > request.getSession().setAttribute( > "businessCardForm", null ); > navigationBean.setHasBusinessCard( false > ); > } > > if( Constants.TRUE.equals( > request.getParameter( > Constants.BUS_SEC_CARD_SELECTED ) ) ) { > navigationBean.setHasSecuredCard( true > ); > } else { > request.getSession().setAttribute( > "securedCardForm", null ); > navigationBean.setHasSecuredCard( false > ); > } > > if( Constants.TRUE.equals( > request.getParameter( > Constants.EQUIP_EXPRESS_SELECTED ) ) ) { > navigationBean.setHasEquipExpress( true > ); > } else { > request.getSession().setAttribute( > "equipExpressForm", null ); > navigationBean.setHasEquipExpress( false > ); > } > > request.getSession().setAttribute( > "navigationBean", navigationBean ); > }; > > > > > Here is the action in the struts-config.xml: > =============================== > <!-- Product selection action --> > <action path="/productSelection" > input=".productSelection" > name="productSelectionForm" > parameter="action" > scope="session" > > type="com.wf.bd.ice.creditapplication.CreditApplicationActions" > > validate="true"> > <forward name="error" > path=".productSelection" redirect="true" /> > <forward name="continue" > path=".business" redirect="true" /> > <forward name="productSelection" > path=".productSelection" redirect="true" /> > <forward name="business" > path=".business" redirect="true" /> > <forward name="firstOwner" > path=".firstOwner" redirect="true" /> > <forward name="secondOwner" > path=".secondOwner" redirect="true" /> > <forward name="businessLine" > path=".businessLine" redirect="true" /> > <forward name="businessCard" > path=".businessCard" redirect="true" /> > <forward name="securedCard" > path=".securedCard" redirect="true" /> > <forward name="equipExpress" > path=".equipExpress" redirect="true" /> > <forward name="noSecondOwner" > path=".noSecondOwner" redirect="true" /> > <forward name="noBusinessLine" > path=".noBusinessLine" redirect="true" /> > <forward name="noBusinessCard" > path=".noBusinessCard" redirect="true" /> > <forward name="noSecuredCard" > path=".noSecuredCard" redirect="true" /> > <forward name="noEquipExpress" > path=".noEquipExpress" redirect="true" /> > <forward name="conclude" > path=".acceptanceAgreement" redirect="true" /> > </action> > > > > > > Here is the test method: > ================== > public void testProductSelection() throws > Exception { > // JUnitDoclet begin method productSelection > > setRequestPathInfo( "/productSelection" ); > > addRequestParameter( "action", "nextPage" ); > > addRequestParameter( "businessLineSelected", > "true" ); > addRequestParameter( "businessCardSelected", > "true" ); > addRequestParameter( > "businessSecuredCardSelected", "true" ); > addRequestParameter( > "equipmentExpressSelected", "true" ); > > actionPerform(); > > verifyForward( Constants.ERROR_FWD ); > verifyForward( > Constants.PRODUCTSELECTION_FWD ); > > //verifyActionErrors(new String[] > {"error.nodefault.implementation" } ); > //verifyActionErrors(new String[] { > "error.noaction.specified"} ); > > //NavigationBean navigationBean = > (NavigationBean)getSession().getAttribute( > "navigationBean" ); > //assertTrue( "NavigationBean is null", > navigationBean == null); > verifyNoActionErrors(); > > // JUnitDoclet end method productSelection > } > > > > > > And I get zero errors at all... > > > > > --- > > Thanks... > > Mick Knutson > > > > 525 Market Street, SF, CA 94103 > > (415) 222-1020 > > [EMAIL PROTECTED] > > MAC A0103-223 > --- > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > > _______________________________________________________ Yahoo! Acesso Grátis - navegue de graça com conexão de qualidade! http://br.acesso.yahoo.com/ --------------------------------------------------------------------- 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]