Gili,

It's important to choose the right type of test for the job so that the test
is as easy as possible to write/maintain.

Here are some ideas:

* It seems strange that you don't control the data in the database. For
testing it's a good idea to control what you put in the database. If you do
then you know exactly what's in there and you shouldn't need to call the
database to get test input data from it.

* Calling the database to get a fixture seems too complex to me and it seems
what you really want to do is a functional test (not an integration or unit
test). How are you running your functional tests? Why don't you add this
test to your suite of functional tests?

* If you really need to perform a unit test, I would suggest that you don't
hit the database at all, using a MockObjects/Stub approach instead (pure
JUnit without Cactus). That will allow you to test the code logic in unit
tests. Then you couple this with a functional test and you should get a
pretty good coverage

All that said, if you still want to use Cactus you should be able to write
the following in your beginXXX() method:

String serverURL = System.getProperty("cactus.contextURL");

-Vincent


> -----Original Message-----
> From: Gili [mailto:[EMAIL PROTECTED]
> Sent: vendredi 6 mai 2005 21:46
> To: Cactus Users List
> Subject: Re: Contacting the container from beginXXX()
> 
> 
>       Correct. I have a DB on the server end containing a list of Themes.
> Each theme contains a list of Images. I need to simulate what happens by
> picking a random theme and image and hitting the servlet with it.
> 
>       Alternatively, I was going to try to move this logic into the
> testXXX()
> method and do everything on the server side, but that would require me
> to implement HttpServletRequest and control what request/response each
> call gets and anyway, as you well know, it gets out of control very
> quickly.
> 
>       There is no way for me to guess a valid value ahead of time because
> the
> themes, images are referenced by ID which is automatically generated by
> the underlying DB and these change whenever a row is added or removed.
> Before each test, I regenerate the DB data and this causes the
> underlying IDs to change.
> 
>       Any suggestions on what I can do?
> 
> Gili
> 
> Vincent Massol wrote:
> > Hi Gili,
> >
> > Are you sure you need to contact the server? Why can't you guess a valid
> > value?
> >
> > Is that the real use case? I mean does your client application have to
> call
> > the server side before it can call your business method?
> >
> > -Vincent
> >
> >
> >>-----Original Message-----
> >>From: Gili [mailto:[EMAIL PROTECTED]
> >>Sent: vendredi 6 mai 2005 19:28
> >>To: cactus-user@jakarta.apache.org
> >>Subject: Contacting the container from beginXXX()
> >>
> >>Hi,
> >>
> >>     I need to be able to contact the container from within my
> >>beginXXX() method because that method needs to invoke a servlet to
> >>retrieve information which will get stuffed into the WebRequest object.
> >>Is there a way to get the test server URL from within beginXXX()?
> >>
> >>Thanks,
> >>Gili
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > 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]


___________________________________________________________

Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !

Yahoo! Mail : http://fr.mail.yahoo.com


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

Reply via email to