首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过依赖项禁用通过spring.factories注册的spring工厂并保留此spring-boot依赖项?

如何通过依赖项禁用通过spring.factories注册的spring工厂并保留此spring-boot依赖项?
EN

Stack Overflow用户
提问于 2021-11-11 19:17:08
回答 1查看 77关注 0票数 0

我面对的是一个带有测试执行侦听器的issue,该侦听器是通过/META-INF/spring.factories中的一个条目由依赖项注册的。

我仍然喜欢使用这种依赖关系--它有很多好处。

有没有办法以某种方式抑制对有问题的(在我的设置中)侦听器的调用?

添加自己的/META-INF/spring.factories条目似乎不会覆盖,而是扩展了活动监听器的列表。

有问题的监听器是来自spring-boot-test:2.5.6org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener

EN

回答 1

Stack Overflow用户

发布于 2021-11-15 21:24:46

特别是对于org.springframework.test.context.TestExecutionListener,可以通过实现DefaultTestExecutionListenersPostProcessor并将其本身注册为META-INF/spring.factories中的org.springframework.boot.test.context.DefaultTestExecutionListenersPostProcessor来过滤掉不需要的侦听器

代码语言:javascript
复制
public class SuppressMockitoResetMocksTestExecutionListener implements DefaultTestExecutionListenersPostProcessor {
    @Override
    public Set<Class<? extends TestExecutionListener>> postProcessDefaultTestExecutionListeners(Set<Class<? extends TestExecutionListener>> listeners) {
        return listeners.stream()
                .filter((listener) -> listener != org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.class)
                .collect(Collectors.toSet());
    }
}

https://github.com/mgurov/mockk-v-cached/commit/aea61ccd3afcf13a62736ce33391f0673640d446上的Kotlin示例

通过https://github.com/spring-projects/spring-boot/issues/28604#issuecomment-968657072

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

https://stackoverflow.com/questions/69933720

复制
相关文章

相似问题

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