Java tutorial
/* * Copyright 2002-2013 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 com.yeahmobi.yunit.testutils; import java.lang.reflect.Constructor; import org.springframework.test.annotation.DirtiesContext.HierarchyMode; import org.springframework.test.context.TestContext; import org.springframework.test.context.TestContextManager; /** * Extended version of the {@link TestContextManager} that can be used when writing tests. * * @author Phillip Webb */ public class ExtendedTestContextManager extends TestContextManager { private Object testInstance; public ExtendedTestContextManager(Class<?> testClass) throws Exception { super(testClass); getTestContext().markApplicationContextDirty(HierarchyMode.CURRENT_LEVEL); Constructor<?> constructor = testClass.getDeclaredConstructor(); constructor.setAccessible(true); this.testInstance = constructor.newInstance(); } public void prepareTestInstance() throws Exception { prepareTestInstance(this.testInstance); } public Object getTestContextAttribute(String name) { return getTestContext().getAttribute(name); } public TestContext accessTestContext() { return getTestContext(); } }