首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用@ContextConfiguration(loader=MyLoader.class)时只使用一个spring测试上下文

如何在使用@ContextConfiguration(loader=MyLoader.class)时只使用一个spring测试上下文
EN

Stack Overflow用户
提问于 2020-11-19 02:58:48
回答 1查看 31关注 0票数 0

我需要控制测试上下文的创建。因此,对于我的测试类,我将@ContextConfiguration(loader=MyLoader.class)设置为MyLoader extends AnnotationConfigContextLoader。问题是,对于每个测试类,都会创建MyLoader的实例,而加载器实例会创建新的上下文。因此,对于每个测试类,我都有一个新的上下文。然而,这不是我需要的。有没有可能让spring-test只为所有测试类创建一个上下文,同时控制加载过程?

为了清楚起见,我使用loader,因为我需要动态设置上下文配置类。我没有找到一个方法去做:

代码语言:javascript
复制
@ContextConfiguration(classProvider=ContextConfigClassProvider.class)//this is what I need
public class FooServiceIT {

    @Test
    public void t() {
        System.out.println("TEST");
    }
}

所以,我使用加载器。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-19 16:12:02

Spring Test框架已经缓存了加载上下文的结果。重要的是,缓存键由几个部分组成(参见the reference guide)。只要这些部分是相同的,它将使用已经加载的缓存,并且不会再次重新加载。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64899600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档