1 Reply Latest reply on Oct 5, 2005 1:15 PM by Adrian Brock

    New Support for Microcontainer based tests

    Adrian Brock Master

      I've committed a prototype of using the Microcontainer from testcases.
      You trivially extend the base test and use a suite() to bootstrap the test's
      microcontainer xml config.

      The xml config must be in the classpath and have a similar name to the testcase.
      e.g.

      org.jboss.test.junit.test.JUnitTestCase.java

      /*
       * JBoss, Home of Professional Open Source
       *
       * Distributable under LGPL license.
       * See terms of license at gnu.org.
       */
      package org.jboss.test.junit.test;
      
      import junit.framework.Test;
      
      import org.jboss.test.kernel.junit.MicrocontainerTest;
      
      /**
       * A JUnitTestCase.
       *
       * @author <a href="adrian@jboss.com">Adrian Brock</a>
       * @version $Revision: 1.1 $
       */
      public class JUnitTestCase extends MicrocontainerTest
      {
       /**
       * Bootstrap the test
       *
       * @return the test
       */
       public static Test suite()
       {
       return suite(JUnitTestCase.class);
       }
      
       /**
       * Create a new JUnitTestCase.
       *
       * @param name the test name
       */
       public JUnitTestCase(String name)
       {
       super(name);
       }
      
       public void testOne() throws Exception
       {
       System.out.println(getBean("TheBean"));
       }
      
       public void testTwo() throws Exception
       {
       System.out.println(getBean("TheBean"));
       }
      }
      


      org.jboss.test.junit.test.JUnitTestCase.xml
      <?xml version="1.0" encoding="UTF-8"?>
      
      <deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="urn:jboss:bean-deployer bean-deployer_1_0.xsd"
       xmlns="urn:jboss:bean-deployer">
       <bean name="TheBean" class="javax.naming.InitialContext"/>
      </deployment>
      


      Produces the following output:
      0 DEBUG [JUnitTestCase] ==== setUp org.jboss.test.junit.test.JUnitTestCase ====
      25 DEBUG [KernelFactory] Starting JBoss Kernel construction...
      510 DEBUG [KernelFactory] Completed JBoss Kernel construction. Duration: 485 milliseconds
      1585 WARN [XsdBinder] NOT HANDLED WILDCARD IN GLOBAL MODEL GROUP
      1976 DEBUG [JUnitTestCase] Deploying file:/home/adrian/jboss-head/workspace/kernel/src/resources/org/jboss/test/junit/test/JUnitTestCase.xml
      2111 DEBUG [JUnitTestCase] Deployed file:/home/adrian/jboss-head/workspace/kernel/src/resources/org/jboss/test/junit/test/JUnitTestCase.xml
      2114 DEBUG [JUnitTestCase] ==== Starting testOne ====
      javax.naming.InitialContext@f07355
      2115 DEBUG [JUnitTestCase] ==== Stopping testOne ====
      2115 DEBUG [JUnitTestCase] ==== Starting testTwo ====
      javax.naming.InitialContext@f07355
      2116 DEBUG [JUnitTestCase] ==== Stopping testTwo ====
      2116 DEBUG [JUnitTestCase] ==== tearDown org.jboss.test.junit.test.JUnitTestCase ====
      2116 DEBUG [JUnitTestCase] Undeploying file:/home/adrian/jboss-head/workspace/kernel/src/resources/org/jboss/test/junit/test/JUnitTestCase.xml
      2117 DEBUG [JUnitTestCase] Undeployed file:/home/adrian/jboss-head/workspace/kernel/src/resources/org/jboss/test/junit/test/JUnitTestCase.xml