在测试中使用模拟替换上下文中的bean

时间:2014-12-02 11:35:21

标签: java spring

对于测试,我希望在调用.refresh()之前用模拟替换上下文中的bean。

目前我有这个:

    new BeanPostProcessor() {

        @Override
        public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
            if (bean.getClass().isAssignableFrom(mock.getClass())) {
                return mock;
            } else {
                return bean;
            }
        }

        @Override
        public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
            return bean;
        }
    }

        @Override
        public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
            return bean;
        }
    }

这似乎有用 - 但看起来/感觉不太好。

有没有Spring方法可以做到这一点?我使用XML,限定符,个人资料但不希望这样做。我使用的是Spring 4.1.2。

我也希望避免使用Primary注释,因为我认为它可能会变得混乱。

0 个答案:

没有答案