我需要控制测试上下文的创建。因此,对于我的测试类,我将@ContextConfiguration(loader=MyLoader.class)设置为MyLoader extends AnnotationConfigContextLoader。问题是,对于每个测试类,都会创建MyLoader的实例,而加载器实例会创建新的上下文。因此,对于每个测试类,我都有一个新的上下文。然而,这不是我需要的。有没有可能让spring-test只为所有测试类创建一个上下文,同时控制加载过程?
为了清楚起见,我使用loader,因为我需要动态设置上下文配置类。我没有找到一个方法去做:
@ContextConfiguration(classProvider=ContextConfigClassProvider.class)//this is what I need
public class FooServiceIT {
@Test
public void t() {
System.out.println("TEST");
}
}所以,我使用加载器。
发布于 2020-11-19 16:12:02
Spring Test框架已经缓存了加载上下文的结果。重要的是,缓存键由几个部分组成(参见the reference guide)。只要这些部分是相同的,它将使用已经加载的缓存,并且不会再次重新加载。
https://stackoverflow.com/questions/64899600
复制相似问题