Browse Source

Introduce tests for Spring Boot issue 885

This commit introduces unit tests that attempt to reproduce the problem
described in Spring Boot issue 885; however, the tests pass and
therefore do not confirm the reported problem.

See: https://github.com/spring-projects/spring-boot/issues/885
pull/580/merge
Sam Brannen 11 years ago
parent
commit
58955236ee
  1. 38
      spring-test/src/test/java/org/springframework/test/context/support/ContextLoaderUtilsMergedConfigTests.java

38
spring-test/src/test/java/org/springframework/test/context/support/ContextLoaderUtilsMergedConfigTests.java

@ -16,7 +16,13 @@ @@ -16,7 +16,13 @@
package org.springframework.test.context.support;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.junit.Test;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.ContextLoader;
import org.springframework.test.context.MergedContextConfiguration;
@ -66,6 +72,19 @@ public class ContextLoaderUtilsMergedConfigTests extends AbstractContextLoaderUt @@ -66,6 +72,19 @@ public class ContextLoaderUtilsMergedConfigTests extends AbstractContextLoaderUt
DelegatingSmartContextLoader.class);
}
@Test
public void buildMergedConfigWithMetaAnnotationAndClasses() {
buildMergedConfigWithMetaAnnotationAndClasses(Dog.class);
buildMergedConfigWithMetaAnnotationAndClasses(WorkingDog.class);
buildMergedConfigWithMetaAnnotationAndClasses(GermanShepherd.class);
}
private void buildMergedConfigWithMetaAnnotationAndClasses(Class<?> testClass) {
MergedContextConfiguration mergedConfig = buildMergedContextConfiguration(testClass);
assertMergedConfig(mergedConfig, testClass, EMPTY_STRING_ARRAY, new Class<?>[] { FooConfig.class,
BarConfig.class }, DelegatingSmartContextLoader.class);
}
@Test
public void buildMergedConfigWithLocalAnnotationAndClasses() {
Class<?> testClass = ClassesFoo.class;
@ -135,4 +154,23 @@ public class ContextLoaderUtilsMergedConfigTests extends AbstractContextLoaderUt @@ -135,4 +154,23 @@ public class ContextLoaderUtilsMergedConfigTests extends AbstractContextLoaderUt
AnnotationConfigContextLoader.class);
}
@ContextConfiguration
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public static @interface SpringAppConfig {
Class<?>[] classes() default {};
}
@SpringAppConfig(classes = { FooConfig.class, BarConfig.class })
public static abstract class Dog {
}
public static abstract class WorkingDog extends Dog {
}
public static class GermanShepherd extends WorkingDog {
}
}

Loading…
Cancel
Save