I'm trying to get a jbehave spring tutorial running.
I've got the "system under test" under src/main.
I've got the jbehave code and stories under src/test.
I'm configuring the POM as follows:
<plugin>
<groupId>org.jbehave</groupId>
<artifactId>jbehave-maven-plugin</artifactId>
<version>${jbehave.version}</version>
<executions>
<execution>
<phase>integration-test</phase>
<configuration>
<annotatedEmbedderRunnerClass>org.jbehave.core.junit.spring.Sprin
gAnnotatedEmbedderRunner</annotatedEmbedderRunnerClass>
<includes>
<include>com/learnthinkcode/example/jbehave/service/Authenticatio
n*.java</include>
</includes>
<excludes>
<exclude>com/learnthinkcode/example/jbehave/service/*EventListene
r.java</exclude>
</excludes>
<scope>test</scope>
</configuration>
<goals>
<goal>run-with-annotated-embedder</goal>
</goals>
</execution>
</executions>
</plugin>
And get the following:
java.lang.RuntimeException: java.lang.ClassNotFoundException:
org.jbehave.core.junit.spring.SpringAnnotatedEmbedderRunner
Both jbehave-core and jbehave-spring are listed as test scope
dependencies.
I've debugged into this and jbehave-spring is not in the
classloader but jbehave-core is.
It's not defined as a dependency of the maven plugin -
jbehave-core is - and that is why it shows up as loadable.
Maven is not passing any test scope jars into the
project.testClasspathElements into the mojo.
Tested with both maven 2.2.1 and 3.0-SNAPSHOT (embedded with
m2eclipse).
I'm not sure how to get jbehave-spring on the classpath.
I will also need other test scope elements on the classpath, like
dbunit in order for this tutorial to work.
I only get target/test-classes, target/classes and the compile
dependencies (and their dependencies).
I can zip this up if anyone needs it - looking on this list to
see if anyone knows off the top of their heads.
Brian
---
Brian Repko
LearnThinkCode, Inc.
email: [email protected]
phone: +1 612 229 6779