我需要控制测试上下文的创建。所以,为了我的测试课我设置了 @ContextConfiguration(loader=MyLoader.class)
哪里 MyLoader extends AnnotationConfigContextLoader
. 问题是myloader的每个测试类示例都会被创建,而这个loader示例会创建新的上下文。所以,每个测试类都有一个新的上下文。然而,这不是我需要的。是否可以让spring测试在控制加载过程的同时为所有测试类只创建一个上下文?
为了清楚起见,我使用了loader,因为我需要动态地设置上下文配置类。我没找到办法:
@ContextConfiguration(classProvider=ContextConfigClassProvider.class)//this is what I need
public class FooServiceIT {
@Test
public void t() {
System.out.println("TEST");
}
}
所以,我用加载器。
1条答案
按热度按时间pxq42qpu1#
spring测试框架已经缓存了加载上下文的结果。缓存键由几个部分构成是很重要的(请参阅参考指南)。只要这些部分是相同的,它将使用已经加载的缓存,而不是重新加载。