package org.test4j.module.dbfit.fixture.dto; import org.test4j.module.spring.remote.RemoteInvokerRegister; import org.test4j.module.spring.strategy.Test4JSpringContext; import org.test4j.module.spring.strategy.register.RegisterDynamicBean; import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.beans.factory.support.DefaultListableBeanFactory; import fit.Fixture; /** * @author darui.wudr */ public class FixtureSpringContext extends Test4JSpringContext { final Class<? extends Fixture> fixtureClazz; public FixtureSpringContext(String[] configLocations, final Class<? extends Fixture> fixtureClazz, boolean shared) throws BeansException { super(configLocations, false, false); this.fixtureClazz = fixtureClazz; refresh(); } @Override protected ConfigurableListableBeanFactory obtainFreshBeanFactory() { DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory) super.obtainFreshBeanFactory(); // Fixture暂不能mock任何东西 // MockBeanRegister.registerAllMockBean(fixtureClazz); RegisterDynamicBean.dynamicRegisterBeanDefinition(beanFactory, fixtureClazz); // 增加httpInovoke的配置 RemoteInvokerRegister.registerSpringBeanRemoteOnClient(beanFactory, fixtureClazz); return beanFactory; } }