@Override public Configuration configuration() { Class<? extends JSystemEmbedder> embedderClass = this.getClass(); StoryParser parser = null; switch (parserType) { case GHERKIN: parser = new GherkinStoryParser(); break; case REGEX: parser = new RegexStoryParser(); break; default: parser = new RegexStoryParser(); } return new MostUsefulConfiguration() .useStoryParser(parser) .useStoryLoader(new LoadFromClasspath(embedderClass.getClassLoader())) .useStoryReporterBuilder( new StoryReporterBuilder() .withCodeLocation(CodeLocations.codeLocationFromClass(embedderClass)) .withDefaultFormats() .withCodeLocation(CodeLocations.codeLocationFromPath(getReportsFolder())) .withFormats(org.jbehave.core.reporters.Format.CONSOLE, Format.HTML, Format.XML, Format.TXT).withCrossReference(new CrossReference())) .useStepPatternParser(new RegexPrefixCapturingPatternParser("%")) .useStepMonitor(new SilentStepMonitor()); }