commit e2f6d5d49fd54c37099f11d2043243d107be131d Author: Mauro Talevi <mauro.tal...@aquilonia.org> AuthorDate: Wed, 26 Feb 2014 08:47:01 +0000 Commit: Mauro Talevi <mauro.tal...@aquilonia.org> CommitDate: Wed, 26 Feb 2014 08:49:12 +0000
JBEHAVE-970: Made ignoring context failure configurable, default to true for backward compatibility. diff --git a/jbehave-spring/src/main/java/org/jbehave/core/annotations/spring/UsingSpring.java b/jbehave-spring/src/main/java/org/jbehave/core/annotations/spring/UsingSpring.java index 9b122fa..e6b3ae1 100755 --- a/jbehave-spring/src/main/java/org/jbehave/core/annotations/spring/UsingSpring.java +++ b/jbehave-spring/src/main/java/org/jbehave/core/annotations/spring/UsingSpring.java @@ -15,4 +15,6 @@ public @interface UsingSpring { boolean inheritResources() default true; + boolean ignoreContextFailure() default true; + } diff --git a/jbehave-spring/src/main/java/org/jbehave/core/configuration/spring/SpringAnnotationBuilder.java b/jbehave-spring/src/main/java/org/jbehave/core/configuration/spring/SpringAnnotationBuilder.java index db1374b..9da65a3 100755 --- a/jbehave-spring/src/main/java/org/jbehave/core/configuration/spring/SpringAnnotationBuilder.java +++ b/jbehave-spring/src/main/java/org/jbehave/core/configuration/spring/SpringAnnotationBuilder.java @@ -47,9 +47,12 @@ public class SpringAnnotationBuilder extends AnnotationBuilder { context = createApplicationContext(annotatedClass().getClassLoader(), resources); } catch (Exception e) { annotationMonitor().elementCreationFailed(ApplicationContext.class, e); + boolean ignoreContextFailure = annotationFinder().getAnnotatedValue(UsingSpring.class, boolean.class, "ignoreContextFailure"); + if ( !ignoreContextFailure ){ throw new InstantiationFailed(annotatedClass(), e); } } + } } else { annotationMonitor().annotationNotFound(UsingSpring.class, annotatedClass()); } diff --git a/jbehave-spring/src/test/java/org/jbehave/core/configuration/spring/SpringAnnotationBuilderBehaviour.java b/jbehave-spring/src/test/java/org/jbehave/core/configuration/spring/SpringAnnotationBuilderBehaviour.java index d4f0af9..25b9de7 100755 --- a/jbehave-spring/src/test/java/org/jbehave/core/configuration/spring/SpringAnnotationBuilderBehaviour.java +++ b/jbehave-spring/src/test/java/org/jbehave/core/configuration/spring/SpringAnnotationBuilderBehaviour.java @@ -195,7 +195,7 @@ public class SpringAnnotationBuilderBehaviour { } @Configure() - @UsingSpring(resources = { "inexistent"} ) + @UsingSpring(resources = { "inexistent"}, ignoreContextFailure = false ) private static class AnnotatedWithUnloadableResource { }