【发布时间】:2017-09-08 14:55:16
【问题描述】:
在 JBehave 的默认 HTML Story Reports 中,它显示了运行了多少个 Scenarios,有多少个 GiventStory Scenarios 和多少个步骤。
我尝试做的是在其上添加一些信息以显示运行了多少故事。
例如,如果我有一个包含 3 个示例的场景,它将运行 3 个故事。实际上它在表格中只显示一个场景,我想要一个新列来记录运行的 3 个故事。
是我的实际配置:
public class JBehaveStoryRunner extends JUnitStories {
@Autowired
private ApplicationContext applicationContext;
public JBehaveStoryRunner() {
Class<?> thisClass = this.getClass();
Properties properties = new Properties();
properties.setProperty("encoding", "UTF-8");
// @formatter:off
useConfiguration(new MostUsefulConfiguration()
.useStoryLoader(new LoadFromClasspath(thisClass.getClassLoader()))
.usePendingStepStrategy(new FailingUponPendingStep())
.useStepdocReporter(new PrintStreamStepdocReporter())
.useStoryReporterBuilder(new StoryReporterBuilder()
.withCodeLocation(CodeLocations.codeLocationFromClass(thisClass))
.withDefaultFormats()
.withFormats(Format.CONSOLE, Format.TXT, Format.HTML, Format.XML, Format.STATS)
.withCrossReference(new CrossReference())
.withViewResources(properties)
.withFailureTrace(true))
.useParameterConverters(new ParameterConverters()
.addConverters(new ParameterConverters.DateConverter(new SimpleDateFormat("dd-MM-yyyy"))))
.useStoryParser(new GherkinStoryParser())
.useParameterControls(new ParameterControls().useNameDelimiterLeft("[").useNameDelimiterRight("]"))
.useStepMonitor(new SilentStepMonitor()));
// @formatter:on
}
@Override
public InjectableStepsFactory stepsFactory() {
return new SpringStepsFactory(configuration(), applicationContext);
}
protected List<String> storyPaths() {
return new StoryFinder().findPaths(CodeLocations.codeLocationFromClass(this.getClass()), "**/*.story", "**/excluded*.story");
}
}
【问题讨论】: