commit de9e8c8a63ce293496f345df260cd44673b83ce2
Author: Paul Hammant <[email protected]>
AuthorDate: Sun Apr 29 10:55:31 2012 +0200
Commit: Paul Hammant <[email protected]>
CommitDate: Sun Apr 29 10:55:31 2012 +0200
JBEHAVE-773 - CrossReference should be able to mark pendings as failures
diff --git
a/jbehave-core/src/main/java/org/jbehave/core/reporters/CrossReference.java
b/jbehave-core/src/main/java/org/jbehave/core/reporters/CrossReference.java
index 357554c..7c970f9 100755
--- a/jbehave-core/src/main/java/org/jbehave/core/reporters/CrossReference.java
+++ b/jbehave-core/src/main/java/org/jbehave/core/reporters/CrossReference.java
@@ -2,6 +2,17 @@ package org.jbehave.core.reporters;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.json.JsonHierarchicalStreamDriver;
+import org.jbehave.core.io.StoryLocation;
+import org.jbehave.core.model.ExamplesTable;
+import org.jbehave.core.model.Meta;
+import org.jbehave.core.model.Narrative;
+import org.jbehave.core.model.Scenario;
+import org.jbehave.core.model.StepPattern;
+import org.jbehave.core.model.Story;
+import org.jbehave.core.steps.NullStepMonitor;
+import org.jbehave.core.steps.StepMonitor;
+import org.jbehave.core.steps.StepType;
+
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
@@ -13,16 +24,6 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.jbehave.core.io.StoryLocation;
-import org.jbehave.core.model.ExamplesTable;
-import org.jbehave.core.model.Meta;
-import org.jbehave.core.model.Narrative;
-import org.jbehave.core.model.Scenario;
-import org.jbehave.core.model.StepPattern;
-import org.jbehave.core.model.Story;
-import org.jbehave.core.steps.NullStepMonitor;
-import org.jbehave.core.steps.StepMonitor;
-import org.jbehave.core.steps.StepType;
public class CrossReference extends Format {
@@ -42,6 +43,7 @@ public class CrossReference extends Format {
private boolean excludeStoriesWithNoExecutedScenarios = false;
private boolean outputAfterEachStory = false;
private Format threadSafeDelegateFormat;
+ private boolean pendingAsFailedStories;
public CrossReference() {
this("XREF");
@@ -65,6 +67,11 @@ public class CrossReference extends Format {
return this;
}
+ public CrossReference markPendingStepsAsFailedStories() {
+ pendingAsFailedStories = true;
+ return this;
+ }
+
public CrossReference withOutputAfterEachStory(boolean
outputAfterEachStory) {
this.outputAfterEachStory = outputAfterEachStory;
return this;
@@ -192,6 +199,14 @@ public class CrossReference extends Format {
}
@Override
+ public void pending(String step) {
+ if (pendingAsFailedStories) {
+ failingStories.add(currentStory.get().getPath());
+ }
+ super.pending(step);
+ }
+
+ @Override
public void failed(String step, Throwable cause) {
failingStories.add(currentStory.get().getPath());
super.failed(step, cause);