我想在带有注释的方法中获取故事名称@BeforeStory。
我需要这个用于调试目的,因为我正在runStoriesAsPaths使用多个线程运行一堆故事,并且我试图记录哪个线程正在运行哪个故事。
有没有办法做到这一点?
首先,您需要创建一个新的 StoryReporter(扩展该类)。在该类中,您可以添加要在故事/场景/步骤之前/之后执行的操作,并且您有故事名称。例子:
public class NewStoryReporter implements StoryReporter {
private StoryReporter delegate;
public NewStoryReporter(StoryReporter delegate) {
this.delegate = delegate;
}
@Override
public void beforeStory(Story story, boolean givenStory) {
delegate.beforeStory(story, givenStory);
}
@Override
public void beforeScenario(String scenarioTitle) {
delegate.beforeScenario(scenarioTitle);
}
@Override
public void beforeStep(String step) {
if(step.equals("When after each step")){
return;
}
delegate.beforeStep(step);
}
Run Code Online (Sandbox Code Playgroud)
那么你需要扩展 StoryReporterBuilder,这将创建你的 NewStoryReporter。例子:
public class NewStoryReporterBuilder extends StoryReporterBuilder {
@Override
public StoryReporter build(String storyPath) {
StoryReporter delegate = super.build(storyPath);
return new NewStoryReporter(delegate);
}
}
Run Code Online (Sandbox Code Playgroud)
然后在您的配置中创建 NewStoryReporterBuilder 的实例,并在中使用它
Configuration configuration = new YourConfiguration().useStoryReporterBuilder(newStoryReporterBuilder....)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5020 次 |
| 最近记录: |