我正在尝试在每次测试前销毁咖啡豆。这样一来,当测试开始运行时,它应该创建新鲜的bean来执行测试,因为所需的类是自动装配的。
我正在使用ConfigurableListableBeanFactory的destroyBean方法。
@Autowired
private ConfigurableListableBeanFactory beanFactory;
val beanClass = Class.forName(beanDefinition.getBeanClassName());
val beans = beanFactory.getBeansOfType(beanClass);
beanFactory.destroyBean(bean);
我希望在销毁所有bean时在每次测试之前调用构造函数。 但这不是调用构造函数并使用旧的bean。
答案 0 :(得分:1)
@Scope("cucumber-glue")
将上述注释放在每个bean的顶部可解决此问题。样本-
@Component
@Scope("cucumber-glue")
public class TestComponent {
}