Andrew,

You can define two targets.
One to package all your test code including cactus and one without then
(using <exclude> or not including these resources).
You can run both targets on every build (then you�ll have 2 .ear) or you can
define a target named "testall" or something that does not execute the
second packaging target.

Clovis

-----Original Message-----
From: Joseph Milora [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 20, 2003 2:57 AM
To: Cactus Users List
Subject: Re: Separating Cactus tests from the application


You can try using XDoclet. Using merge files you can do the following:

<XDtConfig:ifConfigParamEquals paramName="enable.cactus"

                                                value="true">


<servlet-mapping>

 <servlet-name>


           ServletRedirector


      </servlet-name>


       <url-pattern>


             /ServletRedirector


         </url-pattern>


</servlet-mapping>


</XDtConfig:ifConfigParamEquals>

If you set enable.cactus =true in your ant build file, the servlet mappings
will be included in the web.xml file. Otherwise, they'll be excluded. You
also need to set 

conditions in your build file to include/exclude the necessary libraries
during your tests. 

When you need production ear files, you just set enable.cactus(or whatever
you name the property) to false. None of the cactus files, libraries, or
deployment entries

will be included in the build.

You can also use ant to dynamically set your cactus.properties file for
different deployment options.

Joe Milora





----- Original Message ----- 
From: "Andrew van der Voort" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, March 19, 2003 7:30 PM
Subject: Separating Cactus tests from the application


Hi. I have integrated the first of hopefully many tests into out
environment. Since I am testing struts actions, I should also say that I
have strutstestcase on the front of this, but I don't think it changes the
problem I am having.

My working environment is to have my application .war file built as normal.
Since I am using Cactus, I have added to the .war the following:
- Updated web.xml that specifies the ServletRedirector servlet mapping
- Required cactus and strutstestcase jars in WEB-INF/lib
- Test Cases built into a separate package structure

Naturally this .war is packaged up into a .ear for deployment on JBoss.
Everything works fine. However the problem with this approach is that the
.war file is not suitable for distribution to clients. It contains cactus
jars and classes that are not necessary.

What we want to do is prepare the application .ear without anything related
to unit testing  in it, and package a separate .war or .ear with all the
testing classes and jars in it. This is so that once the testing is
complete, we can be confident that the .ear we have is good, and can be
distributed as-is.

Otherwise the only alternative is to package the .ear for testing, test,
and then repackage the .ear for distribution.

Can this be done?

Thanks, Andrew

---------------------------------------------------------------------
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