diff --git a/org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/AnnotationConfigSuiteTests.java b/org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/AnnotationConfigSuiteTests.java index 89be1dad74..c0634bea36 100644 --- a/org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/AnnotationConfigSuiteTests.java +++ b/org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/AnnotationConfigSuiteTests.java @@ -32,7 +32,13 @@ import org.junit.runners.Suite.SuiteClasses; AnnotationConfigSpringJUnit4ClassRunnerAppCtxTests.class, -DefaultConfigClassAnnotationConfigTests.class +DefaultConfigClassBaseTests.class + +// TODO Uncomment once working. Note that JUnit's Suite runner apparently +// does not heed the presence of @Ignore on a suite class, at least not +// when run within STS 2.6.0. +// +// DefaultConfigClassInheritedTests.class }) public class AnnotationConfigSuiteTests { diff --git a/org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassAnnotationConfigTests.java b/org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassBaseTests.java similarity index 84% rename from org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassAnnotationConfigTests.java rename to org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassBaseTests.java index 678e798542..81bd9df840 100644 --- a/org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassAnnotationConfigTests.java +++ b/org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassBaseTests.java @@ -19,10 +19,10 @@ package org.springframework.test.context.junit4.annotation; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.Employee; -import org.springframework.beans.Pet; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @@ -34,24 +34,19 @@ import org.springframework.test.context.support.AnnotationConfigContextLoader; * @author Sam Brannen * @since 3.1 */ +@Ignore("[SPR-6184] Disabled until ContextLoaderUtils supports recursive search for configuration classes") @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(loader = AnnotationConfigContextLoader.class) -public class DefaultConfigClassAnnotationConfigTests { +public class DefaultConfigClassBaseTests { @Autowired private Employee employee; - @Autowired - private Pet pet; - @Test - public final void autowiredFields() { + public void verifyEmployeeSetFromBaseContextConfig() { assertNotNull("The employee field should have been autowired.", this.employee); assertEquals("John Smith", this.employee.getName()); - - assertNotNull("The pet field should have been autowired.", this.pet); - assertEquals("Fido", this.pet.getName()); } } diff --git a/org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassAnnotationConfigTestsConfig.java b/org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassBaseTestsConfig.java similarity index 88% rename from org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassAnnotationConfigTestsConfig.java rename to org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassBaseTestsConfig.java index 67fc8f15bb..3df61e7ccb 100644 --- a/org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassAnnotationConfigTestsConfig.java +++ b/org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassBaseTestsConfig.java @@ -17,7 +17,6 @@ package org.springframework.test.context.junit4.annotation; import org.springframework.beans.Employee; -import org.springframework.beans.Pet; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -28,7 +27,7 @@ import org.springframework.context.annotation.Configuration; * @since 3.1 */ @Configuration -public class DefaultConfigClassAnnotationConfigTestsConfig { +public class DefaultConfigClassBaseTestsConfig { @Bean public Employee employee() { @@ -39,9 +38,4 @@ public class DefaultConfigClassAnnotationConfigTestsConfig { return employee; } - @Bean - public Pet pet() { - return new Pet("Fido"); - } - } diff --git a/org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassInheritedTests.java b/org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassInheritedTests.java new file mode 100644 index 0000000000..51f1956172 --- /dev/null +++ b/org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassInheritedTests.java @@ -0,0 +1,46 @@ +/* + * Copyright 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.test.context.junit4.annotation; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import org.junit.Test; +import org.springframework.beans.Pet; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; + +/** + * TODO [SPR-6184] Document InheritedConfigClassAnnotationConfigTests. + * + * @author Sam Brannen + * @since 3.1 + */ +@ContextConfiguration +public class DefaultConfigClassInheritedTests extends DefaultConfigClassBaseTests { + + @Autowired + private Pet pet; + + + @Test + public void verifyPetSetFromExtendedContextConfig() { + assertNotNull("The pet should have been autowired.", this.pet); + assertEquals("Fido", this.pet.getName()); + } + +} diff --git a/org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassInheritedTestsConfig.java b/org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassInheritedTestsConfig.java new file mode 100644 index 0000000000..f47420b2f3 --- /dev/null +++ b/org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassInheritedTestsConfig.java @@ -0,0 +1,37 @@ +/* + * Copyright 2002-2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.test.context.junit4.annotation; + +import org.springframework.beans.Pet; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * TODO [SPR-6184] Document configuration class. + * + * @author Sam Brannen + * @since 3.1 + */ +@Configuration +public class DefaultConfigClassInheritedTestsConfig { + + @Bean + public Pet pet() { + return new Pet("Fido"); + } + +}