Date: 2004-04-02T02:10:52
   Editor: 80.53.234.114 <>
   Wiki: Apache Avalon Wiki
   Page: AbstractMerlinTestCase
   URL: http://wiki.apache.org/avalon/AbstractMerlinTestCase

   no comment

New Page:

Project and test cases classes should be placed in separate directories in your 
project main directory, for example build/classes and build/tests.In next step 
you should prepare block.xml file which has classloader with classpath entry 
pointing at build/classes directory.
{{{
<container name="my-container>

  <classloader>
    <classpath>
      <fileset dir="build/classes"/>
    </classpath>
  </classloader>

</container>
}}}

All required libraries should be placed on JUnit classpath, below you can find 
sample ant target.
{{{
<junit showoutput="true" fork="true" printsummary="yes" newenvironment="true">
  <sysproperty key="basedir" value="${basedir}"/>
  <classpath>
    <pathelement path="${build.tests.dir}"/>
    <pathelement path="${build.classes.dir}"/>
    <path path="${libs.dir}/merlin-kernel-unit-3.2.5.jar"/>
    <path path="${libs.dir}/avalon-repository-main-1.2.jar"/>
    <path path="${libs.dir}/avalon-framework-api-4.1.5.jar"/>
    <path path="${libs.dir}/mrt-service-impl-0.1.jar"/>
    <path path="${libs.dir}/hibernate-2.1.2.jar"/>
  </classpath>
  <batchtest fork="true" todir="${build.tests.dir}">
    <formatter type="xml"/>
    <fileset dir="${build.tests.dir}">
      <include name="com/mrt/vend/impl/tests/**"/> 
    </fileset>
  </batchtest>
</junit>
}}}
It's very important to run tests in separate VM (fork="true"), because only 
then we avoid use of ant's classloader.

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

Reply via email to