gpt4 book ai didi

java - 测试时排除 ApplicationStartup 事件监听器

转载 作者:行者123 更新时间:2023-11-29 07:28:34 25 4
gpt4 key购买 nike

我最近在我的 SpringBoot 项目中添加了一个 ApplicationStartup 类

@Component
public class ApplicationStartup
implements ApplicationListener<ApplicationReadyEvent> { ...

它实现了 ApplicationListener。

现在,当我运行与该类无关的旧 JUNit 测试时,测试运行器会尝试运行我的 StartupListener,这在这些情况下既不必要也不合适。

如何在我的测试初始化​​时跳过 ApplicationListener?

@RunWith(SpringRunner.class)
@SpringBootTest
public class SubmissionItemManagerTest {...

最佳答案

您可以模拟您的 ApplicationStartup

将此声明添加到您的测试用例中:

@MockBean
private ApplicationStartup applicationStartup

这将创建一个 ApplicationStartup 的模拟实例,并在您的测试上下文中将其标记为 @Primary,从而替换 ApplicationStartup 的实际实例。

关于java - 测试时排除 ApplicationStartup 事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46597149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com