- package org.jbehave.core.configuration;
- import com.thoughtworks.paranamer.NullParanamer;
- import com.thoughtworks.paranamer.Paranamer;
- import org.jbehave.core.embedder.StoryControls;
- import org.jbehave.core.failures.FailureStrategy;
- import org.jbehave.core.failures.PassingUponPendingStep;
- import org.jbehave.core.failures.PendingStepStrategy;
- import org.jbehave.core.failures.RethrowingFailure;
- import org.jbehave.core.i18n.LocalizedKeywords;
- import org.jbehave.core.io.LoadFromClasspath;
- import org.jbehave.core.io.StoryLoader;
- import org.jbehave.core.parsers.RegexPrefixCapturingPatternParser;
- import org.jbehave.core.parsers.RegexStoryParser;
- import org.jbehave.core.parsers.StepPatternParser;
- import org.jbehave.core.parsers.StoryParser;
- import org.jbehave.core.reporters.ConsoleOutput;
- import org.jbehave.core.reporters.FreemarkerViewGenerator;
- import org.jbehave.core.reporters.PrintStreamStepdocReporter;
- import org.jbehave.core.reporters.StepdocReporter;
- import org.jbehave.core.reporters.ViewGenerator;
- import org.jbehave.core.steps.MarkUnmatchedStepsAsPending;
- import org.jbehave.core.steps.ParameterControls;
- import org.jbehave.core.steps.SilentStepMonitor;
- import org.jbehave.core.steps.StepCollector;
- import org.jbehave.core.steps.StepFinder;
- import org.jbehave.core.steps.StepMonitor;
- /**
- * The configuration that works for most situations that users are likely to encounter.
- * The elements configured are:
- * <ul>
- * <li>{@link Keywords}: {@link LocalizedKeywords}</li>
- * <li>{@link StoryParser}: {@link RegexStoryParser}</li>
- * <li>{@link StoryLoader}: {@link LoadFromClasspath}</li>
- * <li>{@link StoryControls}: {@link StoryControls}</li>
- * <li>{@link FailureStrategy}: {@link RethrowingFailure}</li>
- * <li>{@link PendingStepStrategy}: {@link PassingUponPendingStep}</li>
- * <li>{@link DefaultStoryReporter}: {@link ConsoleOutput}</li>
- * <li>{@link StepCollector}: {@link MarkUnmatchedStepsAsPending}</li>
- * <li>{@link StepFinder}: {@link StepFinder}</li>
- * <li>{@link StepPatternParser}: {@link RegexPrefixCapturingPatternParser}</li>
- * <li>{@link StepdocReporter}: {@link PrintStreamStepdocReporter}</li>
- * <li>{@link StepMonitor}: {@link SilentStepMonitor}
- * <li>{@link Paranamer}: {@link NullParanamer}</li>
- * <li>{@link ParameterControls}: {@link ParameterControls}</li>
- * <li>{@link ViewGenerator}: {@link FreemarkerViewGenerator}</li>
- * </ul>
- */
- public class MostUsefulConfiguration extends Configuration {
- public MostUsefulConfiguration() {
- useKeywords(new LocalizedKeywords());
- useStoryControls(new StoryControls());
- useStoryLoader(new LoadFromClasspath());
- useParameterControls(new ParameterControls());
- useFailureStrategy(new RethrowingFailure());
- usePendingStepStrategy(new PassingUponPendingStep());
- useStepFinder(new StepFinder(stepConditionMatcher()));
- useStepCollector(new MarkUnmatchedStepsAsPending(stepFinder(), keywords()));
- useStepPatternParser(new RegexPrefixCapturingPatternParser());
- useStepMonitor(new SilentStepMonitor());
- useStepdocReporter(new PrintStreamStepdocReporter());
- useParanamer(new NullParanamer());
- useViewGenerator(new FreemarkerViewGenerator());
- }
- }