Have a look at the zip file I just posted under a separate thread. Might give you a few ideas. I have managed to get them to run from a test directory from maven.
Key thing is to put the stories in src/test/resources and then define stories as testResources to bring them into the test context. <build> <testResources> <testResource> <directory>src/test/resources</directory> <filtering>false</filtering> <includes> <include>**/*.xml</include> <include>**/*.xsl</include> <include>**/*.xsd</include> <include>**/*.sql</include> <include>**/*.properties</include> <include>**/*.story</include> </includes> </testResource> </testResources> Then you need to hunt for the stories in your test class runner as below: @Test @Override public void run() throws Exception { List<String> paths = createStoryPaths(); if( paths == null || paths.isEmpty() ){ throw new IllegalStateException( "No story paths found for state machine" ); } LOG.info( "Running [" + this.getClass().getSimpleName() + "] with stories [" + paths + "]" ); injectedEmbedder().runStoriesAsPaths( paths ); } private List<String> createStoryPaths() { String storyLocation = CodeLocations.codeLocationFromClass( this.getClass() ).getFile(); LOG.info( "Running stories from [" + storyLocation + "]" ); StoryFinder finder = new StoryFinder(); return finder.findPaths( storyLocation, Arrays.asList( "**/*.story" ), Arrays.asList( "" ), "file:" + storyLocation ); } On Fri, 2011-03-25 at 16:23 -0500, Edward Staub (JIRA) wrote: > Can't run-stories-as-embeddables from test directory using Maven plugin > ----------------------------------------------------------------------- > > Key: JBEHAVE-454 > URL: http://jira.codehaus.org/browse/JBEHAVE-454 > Project: JBehave > Issue Type: Bug > Components: Maven Plugin > Affects Versions: 3.1.2 > Reporter: Edward Staub > > > When I tried to use it, the plugin couldn't find my .java file. > I suspect that this is because the classloader obtained under Maven with a > story that uses > new LoadFromClasspath(this.getClass().getClassLoader()) > as a StoryLoader doesn't include the test class directory - even though the > running class is IN the test class directory. The same code works correctly > under the Eclipse debugger (including the test class directory in the > classpath). Everything else works correctly in Maven - unit tests, etc. > The configuration: > > <configuration> > > <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory> > > <testSourceDirectory>${project.build.testSourceDirectory}</testSourceDirectory> > <includes> > <include>**/ProcessorTestStory.java</include> > </includes> > <metaFilters> > <metaFilter>+author *</metaFilter> > <metaFilter>-skip</metaFilter> > </metaFilters> > <systemProperties> > <property> > <name>java.awt.headless</name> > <value>true</value> > </property> > </systemProperties> > > <ignoreFailureInStories>true</ignoreFailureInStories> > <ignoreFailureInView>false</ignoreFailureInView> > </configuration> > -Ed > >