commit 1719269f6d66144864d2437c94f4516e11a39249
Author: Mauro Talevi <[email protected]>
AuthorDate: Fri, 2 May 2014 14:06:03 +0200
Commit: Mauro Talevi <[email protected]>
CommitDate: Fri, 2 May 2014 14:06:03 +0200
JBEHAVE-777: Perform given stories before scenarios.
diff --git
a/jbehave-core/src/main/java/org/jbehave/core/embedder/PerformableTree.java
b/jbehave-core/src/main/java/org/jbehave/core/embedder/PerformableTree.java
index b78d7d3..0e7ccf2 100644
--- a/jbehave-core/src/main/java/org/jbehave/core/embedder/PerformableTree.java
+++ b/jbehave-core/src/main/java/org/jbehave/core/embedder/PerformableTree.java
@@ -715,6 +715,7 @@ public class PerformableTree {
State state = context.state();
Timer timer = new Timer().start();
try {
+ performGivenStories(context);
performScenarios(context);
} finally {
timing.setDurationInMillis(timer.stop());
@@ -723,6 +724,16 @@ public class PerformableTree {
this.status = context.status(state);
}
+ private void performGivenStories(RunContext context) throws
InterruptedException {
+ if (givenStories.size() > 0) {
+
context.reporter().givenStories(story.getGivenStories());
+ for (PerformableStory story : givenStories) {
+ context.givenStory = story.givenStory();
+ story.perform(context);
+ }
+ }
+ }
+
private void performScenarios(RunContext context) throws
InterruptedException {
beforeSteps.perform(context);
for (PerformableScenario scenario : scenarios) {
@@ -852,7 +863,7 @@ public class PerformableTree {
context.resetState();
}
beforeSteps.perform(context);
- if (scenario.getGivenStories().getPaths().size() > 0) {
+ if (givenStories.size() > 0) {
context.reporter().givenStories(scenario.getGivenStories());
for (PerformableStory story : givenStories) {
context.givenStory = story.givenStory();
@@ -881,6 +892,7 @@ public class PerformableTree {
context.reporter().example(parameters);
beforeSteps.perform(context);
for (PerformableStory story : givenStories) {
+ context.givenStory = story.givenStory();
story.perform(context);
}
steps.perform(context);