在每个黄瓜场景(测试)之前销毁给定包的 bean 并再次创建,以防止场景之间的状态泄漏
Destroying bean of a given package and create again before each cucumber scenario (test) to prevent state from leaking between scenarios
我试图在每次测试前销毁豆子。因此,当测试开始时 运行 它应该根据需要创建新的 bean 来执行测试 类 是自动装配的。
我正在使用 ConfigurableListableBeanFactory 的 destroyBean 方法。
@Autowired
private ConfigurableListableBeanFactory beanFactory;
val beanClass = Class.forName(beanDefinition.getBeanClassName());
val beans = beanFactory.getBeansOfType(beanClass);
beanFactory.destroyBean(bean);
我希望在每次测试之前调用构造函数,因为我正在销毁所有 bean。
但它不是调用构造函数并使用旧 bean。
@Scope("cucumber-glue")
将上面的注释放在每个 bean 的顶部解决了这个问题。示例 -
@Component
@Scope("cucumber-glue")
public class TestComponent {
}
我试图在每次测试前销毁豆子。因此,当测试开始时 运行 它应该根据需要创建新的 bean 来执行测试 类 是自动装配的。
我正在使用 ConfigurableListableBeanFactory 的 destroyBean 方法。
@Autowired
private ConfigurableListableBeanFactory beanFactory;
val beanClass = Class.forName(beanDefinition.getBeanClassName());
val beans = beanFactory.getBeansOfType(beanClass);
beanFactory.destroyBean(bean);
我希望在每次测试之前调用构造函数,因为我正在销毁所有 bean。 但它不是调用构造函数并使用旧 bean。
@Scope("cucumber-glue")
将上面的注释放在每个 bean 的顶部解决了这个问题。示例 -
@Component
@Scope("cucumber-glue")
public class TestComponent {
}