Browse Source

[SPR-6184] Added DefaultConfigClassInheritedTests to verify proper recursive search for configuration classes configured via @ContextConfiguration. This test is currently failing (as expected) and therefore @Ignore'd.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4164 50f2f4bb-b051-0410-bef5-90022cba6387
pull/1/merge
Sam Brannen 15 years ago
parent
commit
9d601f8504
  1. 8
      org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/AnnotationConfigSuiteTests.java
  2. 13
      org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassBaseTests.java
  3. 8
      org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassBaseTestsConfig.java
  4. 46
      org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassInheritedTests.java
  5. 37
      org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassInheritedTestsConfig.java

8
org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/AnnotationConfigSuiteTests.java

@ -32,7 +32,13 @@ import org.junit.runners.Suite.SuiteClasses; @@ -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 {

13
org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassAnnotationConfigTests.java → 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; @@ -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; @@ -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());
}
}

8
org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassAnnotationConfigTestsConfig.java → org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassBaseTestsConfig.java

@ -17,7 +17,6 @@ @@ -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; @@ -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 { @@ -39,9 +38,4 @@ public class DefaultConfigClassAnnotationConfigTestsConfig {
return employee;
}
@Bean
public Pet pet() {
return new Pet("Fido");
}
}

46
org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassInheritedTests.java

@ -0,0 +1,46 @@ @@ -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());
}
}

37
org.springframework.test/src/test/java/org/springframework/test/context/junit4/annotation/DefaultConfigClassInheritedTestsConfig.java

@ -0,0 +1,37 @@ @@ -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");
}
}
Loading…
Cancel
Save