jakarta-cactus-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Erik Hatcher" <jakarta-str...@ehatchersolutions.com>
Subject Re: Cactus : Struts
Date Fri, 09 Nov 2001 21:50:49 GMT
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" <Nick@planetU.com>
To: <struts-user@jakarta.apache.org>
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.


Mime
View raw message