で注釈が付けられたメソッドでストーリー名を取得したいと思い@BeforeStory
ます。
デバッグ目的でこれが必要です。runStoriesAsPaths
複数のスレッドを使用して一連のストーリーを実行しているため、どのスレッドがどのストーリーを実行しているかをログに記録しようとしています。
これを行う方法はありますか?
で注釈が付けられたメソッドでストーリー名を取得したいと思い@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);
}
次に、StoryReporterBuilder を拡張する必要があります。これにより、NewStoryReporter が作成されます。例:
public class NewStoryReporterBuilder extends StoryReporterBuilder {
@Override
public StoryReporter build(String storyPath) {
StoryReporter delegate = super.build(storyPath);
return new NewStoryReporter(delegate);
}
}
次に、構成で NewStoryReporterBuilder のインスタンスを作成し、それを
Configuration configuration = new YourConfiguration().useStoryReporterBuilder(newStoryReporterBuilder....)