[SPR-6184] additional sanity check tests analogous to those developed for [SPR-3896].

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4204 50f2f4bb-b051-0410-bef5-90022cba6387
This commit is contained in:
Sam Brannen 2011-04-09 21:39:42 +00:00
parent 68f285d39d
commit 689016f074
11 changed files with 259 additions and 16 deletions

View File

@ -22,8 +22,8 @@ import org.junit.runners.Suite.SuiteClasses;
import org.springframework.test.context.ClassLevelDirtiesContextTests;
import org.springframework.test.context.SpringRunnerContextCacheTests;
import org.springframework.test.context.junit4.annotation.AnnotationConfigSpringJUnit4ClassRunnerAppCtxTests;
import org.springframework.test.context.junit4.annotation.DefaultConfigClassBaseTests;
import org.springframework.test.context.junit4.annotation.DefaultConfigClassInheritedTests;
import org.springframework.test.context.junit4.annotation.DefaultConfigClassesBaseTests;
import org.springframework.test.context.junit4.annotation.DefaultConfigClassesInheritedTests;
import org.springframework.test.context.junit4.orm.HibernateSessionFlushingTests;
/**
@ -52,8 +52,8 @@ StandardJUnit4FeaturesTests.class,//
StandardJUnit4FeaturesSpringRunnerTests.class,//
SpringJUnit47ClassRunnerRuleTests.class,//
AnnotationConfigSpringJUnit4ClassRunnerAppCtxTests.class,//
DefaultConfigClassBaseTests.class,//
DefaultConfigClassInheritedTests.class,//
DefaultConfigClassesBaseTests.class,//
DefaultConfigClassesInheritedTests.class,//
ExpectedExceptionSpringRunnerTests.class,//
TimedSpringRunnerTests.class,//
RepeatedSpringRunnerTests.class,//

View File

@ -31,8 +31,11 @@ import org.junit.runners.Suite.SuiteClasses;
// Note: the following 'multi-line' layout is for enhanced code readability.
@SuiteClasses({//
AnnotationConfigSpringJUnit4ClassRunnerAppCtxTests.class,//
DefaultConfigClassBaseTests.class,//
DefaultConfigClassInheritedTests.class //
DefaultConfigClassesBaseTests.class,//
DefaultConfigClassesInheritedTests.class,//
BeanOverridingDefaultConfigClassesInheritedTests.class,//
BeanOverridingExplicitConfigClassesInheritedTests.class,//
ExplicitConfigClassesInheritedTests.class //
})
public class AnnotationConfigTestSuite {
}

View File

@ -0,0 +1,45 @@
/*
* 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.test.context.ContextConfiguration;
/**
* Integration tests that verify support for configuration classes in
* the Spring TestContext Framework.
*
* <p>Configuration will be loaded from {@link DefaultConfigClassesBaseTestsConfig}
* and {@link BeanOverridingDefaultConfigClassesInheritedTestsConfig}.
*
* @author Sam Brannen
* @since 3.1
*/
@ContextConfiguration
public class BeanOverridingDefaultConfigClassesInheritedTests extends DefaultConfigClassesBaseTests {
@Test
@Override
public void verifyEmployeeSetFromBaseContextConfig() {
assertNotNull("The employee should have been autowired.", this.employee);
assertEquals("The employee bean should have been overridden.", "Yoda", this.employee.getName());
}
}

View File

@ -0,0 +1,43 @@
/*
* 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.Employee;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* ApplicationContext configuration class for
* {@link BeanOverridingDefaultConfigClassesInheritedTests} and
* {@link BeanOverridingExplicitConfigClassesInheritedTests}.
*
* @author Sam Brannen
* @since 3.1
*/
@Configuration
public class BeanOverridingDefaultConfigClassesInheritedTestsConfig {
@Bean
public Employee employee() {
Employee employee = new Employee();
employee.setName("Yoda");
employee.setAge(900);
employee.setCompany("The Force");
return employee;
}
}

View File

@ -0,0 +1,45 @@
/*
* 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.test.context.ContextConfiguration;
/**
* Integration tests that verify support for configuration classes in
* the Spring TestContext Framework.
*
* <p>Configuration will be loaded from {@link DefaultConfigClassesBaseTestsConfig}
* and {@link BeanOverridingDefaultConfigClassesInheritedTestsConfig}.
*
* @author Sam Brannen
* @since 3.1
*/
@ContextConfiguration(classes = BeanOverridingDefaultConfigClassesInheritedTestsConfig.class)
public class BeanOverridingExplicitConfigClassesInheritedTests extends ExplicitConfigClassesBaseTests {
@Test
@Override
public void verifyEmployeeSetFromBaseContextConfig() {
assertNotNull("The employee should have been autowired.", this.employee);
assertEquals("The employee bean should have been overridden.", "Yoda", this.employee.getName());
}
}

View File

@ -31,17 +31,17 @@ import org.springframework.test.context.support.AnnotationConfigContextLoader;
* Integration tests that verify support for configuration classes in
* the Spring TestContext Framework.
*
* <p>Configuration will be loaded from {@link DefaultConfigClassBaseTestsConfig}.
* <p>Configuration will be loaded from {@link DefaultConfigClassesBaseTestsConfig}.
*
* @author Sam Brannen
* @since 3.1
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader = AnnotationConfigContextLoader.class)
public class DefaultConfigClassBaseTests {
public class DefaultConfigClassesBaseTests {
@Autowired
private Employee employee;
protected Employee employee;
@Test

View File

@ -21,13 +21,13 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* ApplicationContext configuration class for {@link DefaultConfigClassBaseTests}.
* ApplicationContext configuration class for {@link DefaultConfigClassesBaseTests}.
*
* @author Sam Brannen
* @since 3.1
*/
@Configuration
public class DefaultConfigClassBaseTestsConfig {
public class DefaultConfigClassesBaseTestsConfig {
@Bean
public Employee employee() {

View File

@ -28,14 +28,14 @@ import org.springframework.test.context.ContextConfiguration;
* Integration tests that verify support for configuration classes in
* the Spring TestContext Framework.
*
* <p>Configuration will be loaded from {@link DefaultConfigClassBaseTestsConfig}
* and {@link DefaultConfigClassInheritedTestsConfig}.
* <p>Configuration will be loaded from {@link DefaultConfigClassesBaseTestsConfig}
* and {@link DefaultConfigClassesInheritedTestsConfig}.
*
* @author Sam Brannen
* @since 3.1
*/
@ContextConfiguration
public class DefaultConfigClassInheritedTests extends DefaultConfigClassBaseTests {
public class DefaultConfigClassesInheritedTests extends DefaultConfigClassesBaseTests {
@Autowired
private Pet pet;

View File

@ -21,13 +21,13 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* ApplicationContext configuration class for {@link DefaultConfigClassInheritedTests}.
* ApplicationContext configuration class for {@link DefaultConfigClassesInheritedTests}.
*
* @author Sam Brannen
* @since 3.1
*/
@Configuration
public class DefaultConfigClassInheritedTestsConfig {
public class DefaultConfigClassesInheritedTestsConfig {
@Bean
public Pet pet() {

View File

@ -0,0 +1,53 @@
/*
* 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.junit.runner.RunWith;
import org.springframework.beans.Employee;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;
/**
* Integration tests that verify support for configuration classes in
* the Spring TestContext Framework.
*
* <p>Configuration will be loaded from {@link DefaultConfigClassesBaseTestsConfig}.
*
* @author Sam Brannen
* @since 3.1
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes = DefaultConfigClassesBaseTestsConfig.class)
public class ExplicitConfigClassesBaseTests {
@Autowired
protected Employee employee;
@Test
public void verifyEmployeeSetFromBaseContextConfig() {
assertNotNull("The employee should have been autowired.", this.employee);
assertEquals("John Smith", this.employee.getName());
}
}

View File

@ -0,0 +1,54 @@
/*
* 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.junit.runner.RunWith;
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;
import org.springframework.test.context.support.AnnotationConfigContextLoader;
/**
* Integration tests that verify support for configuration classes in
* the Spring TestContext Framework.
*
* <p>Configuration will be loaded from {@link DefaultConfigClassesBaseTestsConfig}
* and {@link DefaultConfigClassesInheritedTestsConfig}
*
* @author Sam Brannen
* @since 3.1
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes = DefaultConfigClassesInheritedTestsConfig.class)
public class ExplicitConfigClassesInheritedTests extends ExplicitConfigClassesBaseTests {
@Autowired
private Pet pet;
@Test
public void verifyPetSetFromExtendedContextConfig() {
assertNotNull("The pet should have been autowired.", this.pet);
assertEquals("Fido", this.pet.getName());
}
}