从设计
ApplicationContext上看,Spring TestContext framework不明确支持以编程方式刷新。此外,不希望测试方法刷新上下文。
因此,我建议你重新评估对刷新的需求,并考虑其他替代方法,例如在专用的测试类中放置需要一组不同的活动配置文件的测试方法。
总之,仅
@ActiveProfiles支持在测试类级别(而不是方法级别)上对测试的活动配置文件进行声明性配置(通过value和profiles属性)和程序化配置(通过resolver属性)。另一种选择是实施
ApplicationContextInitializer并通过进行配置
@ContextConfiguration(initializers=...)。
影响刷新
ApplicationContext之前的唯一其他方法是实现SmartContextLoader或扩展提供的类之一,并通过对其进行配置
@ContextConfiguration(loader=...)。例如,
AbstractGenericContextLoader.customizeContext()允许一个“自定义
GenericApplicationContext由装载机创建后的bean定义都被装入的背景之下,之前的上下文刷新。”



