[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.

master
Sam Brannen 14 years ago
parent 70f883303f
commit 523c090551
  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

@ -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 {

@ -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());
}
}

@ -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");
}
}

@ -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());
}
}

@ -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