Java源码示例:org.jbehave.core.parsers.RegexStoryParser

示例1
@Override
public Configuration configuration() {
    Class<? extends Embeddable> embeddableClass = this.getClass();
    // Start from default ParameterConverters instance
    ParameterConverters parameterConverters = new ParameterConverters();
    // factory to allow parameter conversion and loading from external resources (used by StoryParser too)
    ExamplesTableFactory examplesTableFactory = new ExamplesTableFactory(new LocalizedKeywords(), new LoadFromClasspath(embeddableClass), parameterConverters);
    // add custom converters
    parameterConverters.addConverters(
            new DateConverter(new SimpleDateFormat("yyyy-MM-dd")),
            new ParameterConverters.EnumConverter()
    );
    return new MostUsefulConfiguration()
            .useStoryLoader(new LoadFromClasspath(embeddableClass))
            .useStoryParser(new RegexStoryParser(examplesTableFactory))
            .useStoryReporterBuilder(new StoryReporterBuilder()
                    .withCodeLocation(CodeLocations.codeLocationFromClass(embeddableClass))
                    .withDefaultFormats()
                    .withFormats(CONSOLE, TXT, HTML, XML))
            .useParameterConverters(parameterConverters);
}
 
示例2
public void init() throws IOException
{
    initKeywords();
    initCompositePaths();
    useParameterControls(parameterControls);
    useParameterConverters(new ParameterConvertersDecorator(this, parameterAdaptor, expressionAdaptor)
            .addConverters(customConverters));
    useStoryParser(new RegexStoryParser(keywords(), examplesTableFactory()));
    TableTransformers transformers = tableTransformers();
    customTableTransformers.forEach(transformers::useTransformer);
    useStepMonitor(new DelegatingStepMonitor(stepMonitors));
    useStoryControls(storyControls);
}
 
示例3
@Test
@PrepareForTest(ExtendedConfiguration.class)
public void testInit() throws Exception
{
    String compositePathPatterns = "**/*.steps";
    List<String> compositePaths = List.of("/path/to/composite.steps");
    when(pathFinder.findPaths(equalToCompositeStepsBatch(compositePathPatterns))).thenReturn(compositePaths);

    ExtendedConfiguration spy = spy(configuration);
    Keywords keywords = mock(Keywords.class);
    PowerMockito.whenNew(Keywords.class).withArguments(Keywords.defaultKeywords()).thenReturn(keywords);
    ExamplesTableFactory examplesTableFactory = mock(ExamplesTableFactory.class);
    when(spy.examplesTableFactory()).thenReturn(examplesTableFactory);
    RegexStoryParser regexStoryParser = mock(RegexStoryParser.class);
    PowerMockito.whenNew(RegexStoryParser.class).withArguments(keywords, examplesTableFactory)
            .thenReturn(regexStoryParser);
    ParameterConvertersDecorator parameterConverters = mock(ParameterConvertersDecorator.class);
    PowerMockito.whenNew(ParameterConvertersDecorator.class).withArguments(spy, parameterAdaptor, expressionAdaptor)
            .thenReturn(parameterConverters);
    List<ChainableParameterConverter<?, ?>> parameterConverterList = List.of();
    when(parameterConverters.addConverters(parameterConverterList)).thenReturn(parameterConverters);
    StoryControls storyControls = mock(StoryControls.class);
    spy.setCustomConverters(parameterConverterList);
    spy.setCompositePaths(compositePathPatterns);
    spy.setStoryControls(storyControls);
    List<StepMonitor> stepMonitors = List.of(mock(StepMonitor.class));
    spy.setStepMonitors(stepMonitors);
    spy.init();

    verify(spy).useKeywords(keywords);
    verify(spy).useCompositePaths(new HashSet<>(compositePaths));

    InOrder inOrder = inOrder(spy);
    inOrder.verify(spy).useParameterConverters(parameterConverters);
    inOrder.verify(spy).useStoryParser(regexStoryParser);

    verify(spy).useStoryControls(storyControls);
    verifyStepMonitor(spy, stepMonitors.get(0));
}
 
示例4
@Override
public Configuration configuration() {
	LocalizedKeywords keywords = new LocalizedKeywords(new Locale("de"));
	return new MostUsefulConfiguration()
			.useKeywords(keywords)
			.useStepCollector(new MarkUnmatchedStepsAsPending(keywords))
			.useStoryParser(new RegexStoryParser(keywords))

			.useStoryLoader(new LoadFromClasspath(this.getClass()))
			.useFailureStrategy(new RethrowingFailure())
			.useStoryReporterBuilder(
					new StoryReporterBuilder().withKeywords(keywords)
							.withFormats(Format.HTML, Format.ANSI_CONSOLE)
							.withFailureTrace(true));
}