- Revision
- 948
- Author
- mauro
- Date
- 2008-09-26 02:51:47 -0500 (Fri, 26 Sep 2008)
Log Message
Reproduced container classloading problem at unit-test level.
Added Paths
- trunk/jbehave-maven-plugin/src/behaviour/java/org/
- trunk/jbehave-maven-plugin/src/behaviour/java/org/jbehave/
- trunk/jbehave-maven-plugin/src/behaviour/java/org/jbehave/mojo/
- trunk/jbehave-maven-plugin/src/behaviour/java/org/jbehave/mojo/ScenarioClassLoaderBehaviour.java
- trunk/jbehave-maven-plugin/src/behaviour/java/org/jbehave/mojo/container.xml
Diff
Added: trunk/jbehave-maven-plugin/src/behaviour/java/org/jbehave/mojo/ScenarioClassLoaderBehaviour.java (0 => 948)
--- trunk/jbehave-maven-plugin/src/behaviour/java/org/jbehave/mojo/ScenarioClassLoaderBehaviour.java (rev 0) +++ trunk/jbehave-maven-plugin/src/behaviour/java/org/jbehave/mojo/ScenarioClassLoaderBehaviour.java 2008-09-26 07:51:47 UTC (rev 948) @@ -0,0 +1,55 @@ +package org.jbehave.mojo; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.net.MalformedURLException; +import java.util.Arrays; +import java.util.List; + +import org.jbehave.container.pico.XMLPicoContainer; +import org.jbehave.scenario.JUnitScenario; +import org.jbehave.scenario.RunnableScenario; +import org.junit.Test; + +public class ScenarioClassLoaderBehaviour { + + @Test + public void canInstantiateNewScenario() throws MalformedURLException { + List<String> elements = Arrays.asList(); + ScenarioClassLoader classLoader = new ScenarioClassLoader(elements); + String scenarioClassName = MyScenario.class.getName(); + assertScenarioIsInstantiated(classLoader, scenarioClassName); + } + + //[EMAIL PROTECTED] + public void canInstantiateNewContainerScenario() throws MalformedURLException { + List<String> elements = Arrays.asList(); + ClassLoader parent = Thread.currentThread().getContextClassLoader(); + ScenarioClassLoader classLoader = new ScenarioClassLoader(elements, parent); + String scenarioClassName = MyContainerScenario.class.getName(); + assertScenarioIsInstantiated(classLoader, scenarioClassName); + } + + + private void assertScenarioIsInstantiated(ScenarioClassLoader classLoader, String scenarioClassName) { + RunnableScenario scenario = classLoader.newScenario(scenarioClassName); + assertNotNull(scenario); + assertEquals(scenarioClassName, scenario.getClass().getName()); + } + + private static class MyScenario extends JUnitScenario { + + public MyScenario(ClassLoader classLoader){ + + } + } + + private static class MyContainerScenario extends JUnitScenario { + + public MyContainerScenario(ClassLoader classLoader){ + new XMLPicoContainer("org/jbehave/mojo/container.xml"); + } + } + +}
Added: trunk/jbehave-maven-plugin/src/behaviour/java/org/jbehave/mojo/container.xml (0 => 948)
--- trunk/jbehave-maven-plugin/src/behaviour/java/org/jbehave/mojo/container.xml (rev 0) +++ trunk/jbehave-maven-plugin/src/behaviour/java/org/jbehave/mojo/container.xml 2008-09-26 07:51:47 UTC (rev 948) @@ -0,0 +1 @@ +<container/> \ No newline at end of file
To unsubscribe from this list please visit:
