diff --git a/CHANGELOG.md b/CHANGELOG.md index 923b654..2a663c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# Release 1.25.0 + +Small bugfix release for proper mismatch messages of the matchers. + # Release 1.24.0 ## New features diff --git a/gradle.properties b/gradle.properties index cf4c1ed..65c4949 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ group=com.ragin.bdd -version=1.24.0 +version=1.25.0 systemProp.sonar.host.url=https://sonarcloud.io/ systemProp.sonar.organization=ragin-lundf-github diff --git a/src/main/java/com/ragin/bdd/cucumber/matcher/ScenarioStateContextMatcher.java b/src/main/java/com/ragin/bdd/cucumber/matcher/ScenarioStateContextMatcher.java index bb798f0..2f6dd4c 100644 --- a/src/main/java/com/ragin/bdd/cucumber/matcher/ScenarioStateContextMatcher.java +++ b/src/main/java/com/ragin/bdd/cucumber/matcher/ScenarioStateContextMatcher.java @@ -11,17 +11,29 @@ public class ScenarioStateContextMatcher extends BaseMatcher implements private String parameter; @Override - public boolean matches(Object actual) { - String parameterFromContext = ScenarioStateContext.current().getScenarioContextMap().get(parameter); - String actualAsString = String.valueOf(actual); + public boolean matches(final Object actual) { + final String parameterFromContext = ScenarioStateContext.current().getScenarioContextMap().get(parameter); + final String actualAsString = String.valueOf(actual); return (actualAsString.equals(parameterFromContext)); } @Override - public void describeTo(Description description) { + public void describeTo(final Description description) { description.appendText("The actual value is not equal to the parameter [" + parameter + "]"); } + @Override + public void describeMismatch(final Object item, final Description description) { + description + .appendText("BDD Context value was [") + .appendValue(ScenarioStateContext.current().getScenarioContextMap().get(parameter)) + .appendText("].") + .appendText(" JSON Value was [") + .appendValue(item) + .appendText("]"); + super.describeMismatch(item, description); + } + @Override public void setParameter(String parameter) { this.parameter = parameter; diff --git a/src/main/java/com/ragin/bdd/cucumber/matcher/UUIDMatcher.java b/src/main/java/com/ragin/bdd/cucumber/matcher/UUIDMatcher.java index d229354..9b83067 100644 --- a/src/main/java/com/ragin/bdd/cucumber/matcher/UUIDMatcher.java +++ b/src/main/java/com/ragin/bdd/cucumber/matcher/UUIDMatcher.java @@ -19,7 +19,7 @@ public boolean matches(Object item) { @Override public void describeMismatch(Object item, Description description) { - description.appendText("Is not a valid date: ").appendValue(item); + description.appendText("Is not a valid UUID: ").appendValue(item); } @Override