Hi Christiano, Thanks for the input. Can I ask what's in your MyStoryLoader class?
This is the part that I don't understand. Why do we need to specify a storyLoader when we're providing the stories explicitly? thanks! graham On 8 March 2012 18:19, Cristiano Gavião <[email protected]> wrote: > Graham, for me, using Embedder is the best for such needs... the example > that was given for Zoltan is a little bit confuse, actually... > > Look at the example below. I'm specifying the Step classes that I want and > the local where the stories should be searched (in my case its using the > classpath). > > Note that the Embedder always needs ONE Configuration object wherever it > comes from. If none is informed it will use a default one: > > @RunWith(AnnotatedEmbedderRunner.class) > *@Configure(using = MyConfiguration.class, stepPatternParser = > MyRegexPrefixCapturingPatternParser.class, storyControls = > MyStoryControls.class, storyLoader = MyStoryLoader.class, > storyReporterBuilder = MyReportBuilder.class, parameterConverters = { > MyDateConverter.class })* > @UsingEmbedder(systemProperties = > "JBEHAVE_WEBDRIVER_FIREFOX_PROFILE=jbehave", embedder = MyEmbedder.class, > generateViewAfterStories = true, ignoreFailureInStories = false, > ignoreFailureInView = false, verboseFailures = true, storyTimeoutInSecs = > 100, threads = 1, metaFilters = "-skip") > *@UsingSteps(instances = { MyLifeCycleSteps.class, > MyInjectedAuthenticationSteps.class })* > public class TaskManagerApplicationAnnotatedEmbedder extends > InjectableEmbedder { > > private static final WebDriverProvider staticDriverProvider = new > FirefoxWebDriverProvider(); > private static WebDriverSteps lifecycleSteps = new > PerStoriesWebDriverSteps( > staticDriverProvider); > private static final TaskWebPageFactory pages = new TaskWebPageFactory( > staticDriverProvider); > private static SeleniumContext context = new SeleniumContext(); > private static ContextView contextView = new > LocalFrameContextView().sized( > 500, 100); > > @Test > *public void run() { > List<String> storyPaths = new StoryFinder().findPaths( > codeLocationFromClass(this.getClass()).getFile(), > asList("**/*.story"), null); > injectedEmbedder().runStoriesAsPaths(storyPaths); > }* > > public static class MyConfiguration extends SeleniumConfiguration { > public MyConfiguration() { > useFailureStrategy(new RethrowingFailure()); > usePendingStepStrategy(new FailingUponPendingStep()); > useSeleniumContext(context); > useWebDriverProvider(staticDriverProvider); > useStepMonitor(new SeleniumStepMonitor(contextView, context, > new SilentStepMonitor())); > } > } > > > > On 08/03/12 14:24, Graham Abell wrote: > > Hi Mauro, > > in the example Zoltan gave, what's the point of providing the story > paths to the embedder if you then have to specify a location in the config? > Is there a way around that or which one takes precedence? > > cheers, > graham > > On 8 March 2012 16:55, Mauro Talevi <[email protected]> wrote: > >> Hi, >> >> you can use the StoryFinder with the >> CodeLocations.codeLocationFromPath("/your/absolute/path") as your searchIn >> URL. >> >> Cheers >> >> >> On 08/03/2012 17:20, Penzeli, Zoltan wrote: >> >>> Hi All, >>> >>> >>> We are in the middle of creating our BDD framework, and haven't yet >>> decided where our .story files will be - but most likely they will be in >>> a directory well separated from our Java project. >>> >>> We tried the following code: >>> >>> **************************** >>> >>> public Configuration configuration() { >>> >>> URL url = null; >>> try { >>> url = new URL("file://" + System.getProperty("user.dir") + >>> "/JBehave/src"); >>> } catch (MalformedURLException e) { >>> return null; >>> } >>> >>> Class<?> embedderClass = this.getClass(); >>> URL codeLocation = >>> CodeLocations.codeLocationFromClass(embedderClass); >>> Configuration configuration = new MostUsefulConfiguration() >>> .useStoryLoader(new LoadFromRelativeFile(url)) >>> .useStoryReporterBuilder(new StoryReporterBuilder() >>> .withCodeLocation(codeLocation) >>> .withDefaultFormats()); >>> return configuration; >>> } >>> >>> **************************** >>> >>> public void SmoketestSteps() { >>> >>> Embedder embedder = new StackEmbedder(); >>> StoryFinder finder = new StoryFinder(); >>> String storyLocation = System.getProperty("user.dir") + >>> "/JBehave/src/"; >>> List<String> storyPaths = finder.findPaths(storyLocation, >>> Arrays.asList("**/*.story"), >>> Arrays.asList("**/*smoke*"), >>> ""); >>> >>> embedder.runStoriesAsPaths(storyPaths); >>> } >>> >>> (Actually it did us a bit of a time to realise what kind of StoryLoader >>> we should use...) >>> >>> It seems to be running but nothing is actually executed. Moreover, we >>> couldn't really understand what's the function of the constructor of >>> LoadFromRelativeFile() AND the first parameter of finder.findPaths(). >>> The latter doesn't seem to have any effect on the execution. >>> >>> We couldn't find any concrete example how Stories could be found and run >>> from _absolute_ paths - if this is possible at all with the current >>> code. >>> >>> It would nice if someone could provide one... >>> >>> Best Regards, >>> >>> Zoltan >>> >>> ________________________________________________________________________ >>> Privileged, confidential and/or copyright information may be contained >>> in this communication. This e-mail and any files transmitted with it are >>> confidential and intended solely for the use of the individual or entity to >>> whom they are addressed. If you are not the intended addressee, you may not >>> copy, forward, disclose or otherwise use this e-mail or any part of it in >>> any way whatsoever. To do so is prohibited and may be unlawful. If you have >>> received this email in error >>> please notify the sender immediately. >>> >>> Paddy Power PLC may monitor the content of e-mail sent and received for >>> the purpose of ensuring compliance with its policies and procedures. >>> >>> Paddy Power plc, Power Tower, Blocks 1-3 Belfield Office Park, Beech >>> Hill Road, Clonskeagh, Dublin 4. Registered in Ireland: 16956 >>> ________________________________________________________________________ >>> >>> --------------------------------------------------------------------- >>> To unsubscribe from this list, please visit: >>> >>> http://xircles.codehaus.org/manage_email >>> >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe from this list, please visit: >> >> http://xircles.codehaus.org/manage_email >> >> >> > >
