我的Spring环境中有几个bean有状态,所以我想在单元测试之前/之后重置该状态。如何从Spring获取实例化bean的列表?
我的想法是添加一个方法到一个助手类,它只是通过Spring上下文中的所有bean,检查用@Before
或@After
注释并调用它们的方法。
如何获得实例化的豆类列表ApplicationContext
?
注:简单地遍历所有定义的bean是无用的,因为我有很多懒豆,其中一些不能被实例化,因为这将失败的一些测试(即我有需要java.sql.DataSource
一个咖啡豆,但测试解决方案因为他们不需要这个bean)。
也许定义 “后” 切入点HTTP:/ /static.springsource.org/spring/docs/3.0.x/reference/aop.html – 2013-02-12 11:52:15
你的单元测试中的@DirtiesContext注释没有做到你想要的吗? – 2013-02-12 12:30:32
@NicolasMommaerts:不。重新设置几个bean会比从头创建整个上下文便宜得多。 – 2013-02-12 14:50:01