/* * Copyright (c) 2006 Rogério Liesenfeld * This file is subject to the terms of the MIT license (see LICENSE.txt). */ package mockit.integration.springframework; import mockit.internal.injection.*; import mockit.internal.state.*; import org.springframework.beans.factory.*; import org.springframework.web.context.support.*; /** * A {@link org.springframework.web.context.WebApplicationContext} implementation which exposes the {@link @Tested} * objects and their injected dependencies declared in the current test class. */ public final class TestWebApplicationContext extends StaticWebApplicationContext { @Override public Object getBean(String name) { TestedClassInstantiations testedClasses = TestRun.getTestedClassInstantiations(); if (testedClasses == null) { throw new BeanDefinitionStoreException("Test class does not define any @Tested fields"); } Object bean = testedClasses.getBeanExporter().getBean(name); if (bean == null) { throw new NoSuchBeanDefinitionException(name); } return bean; } }