gpt4 book ai didi

java - 找不到@SpringBootConfiguration

转载 作者:行者123 更新时间:2023-12-02 09:24:37 25 4
gpt4 key购买 nike

我想为此私有(private)方法创建 JUnit 测试:

@Component
public class ReportingProcessor {

@EventListener
private void collectEnvironmentData(ContextRefreshedEvent event) {
}
}

我尝试过这个:

@ContextConfiguration
@SpringBootTest
public class ReportingTest {

@Autowired
ReportingProcessor reportingProcessor;

@Test
public void reportingTest() throws Exception {

ContextRefreshedEvent contextRefreshedEvent = PowerMockito.mock(ContextRefreshedEvent.class);
Whitebox.invokeMethod(reportingProcessor, "collectEnvironmentData", contextRefreshedEvent);

}
}

当我运行代码时,我得到:

java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test

你知道我可以解决这个问题吗?

最佳答案

如果您没有任何使用 @SpringBootApplication 注释的类和已知的 main() 方法,则需要将您的组件类定位在 @ SpringBootTest注释。

通常,我在构建库时执行此操作,并且对于某些特定场景,我需要有 spring 上下文来对它们进行单元测试。

只需将其添加到您的代码中即可:

@RunWith(SpringRunner.class)
@SpringBootTest(classes = ReportingProcessor.class)
public class ReportingTest {
...

刚刚完成,测试正在运行。

编辑:不知道您到底要测试什么,只是想展示如何修复遇到的错误。

关于java - 找不到@SpringBootConfiguration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58422723/

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