gpt4 book ai didi

java - Spring Boot Junit 测试用例中 contextLoads 方法的用途是什么?

转载 作者:行者123 更新时间:2023-11-29 09:27:13 27 4
gpt4 key购买 nike

这个方法在我所有的 JUnit 测试用例中都是空的。这个方法有什么用?

Sonarqube 正在提示
“添加嵌套注释解释为什么此方法为空,抛出 UnsupportedOperationException 或完成实现。”

我可以通过添加一些评论来绕过它,但我只想知道为什么有必要这样做。

最佳答案

当您使用 Spring Initializer 构建 Spring boot 应用程序时。它使用 contextLoads 空方法自动为您创建一个测试类。

@SpringBootTest
class ApplicationContextTest {

@Test
void contextLoads() {
}
}

注意 @SpringBootTest 注解的使用,它告诉 Spring Boot 寻找主配置类(例如,带有 @SpringBootApplication 的配置类)并使用它来启动 Spring 应用程序上下文。空的 contextLoads() 是验证应用程序是否能够成功加载 Spring 上下文的测试。

如果 sonarqube 提示空方法,那么你可以做这样的事情来验证你的 Controller 或服务 bean 上下文:-

@SpringBootTest
public class ApplicationContextTest {

@Autowired
private MyController myController;

@Autowired
private MyService myService;

@Test
public void contextLoads() throws Exception {
assertThat(myController).isNotNull();
assertThat(myService).isNotNull();
}
}

关于java - Spring Boot Junit 测试用例中 contextLoads 方法的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49887939/

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