当我创建 Spring Boot 应用程序时,它会生成 2 个类:
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
第二个是测试:
@RunWith(SpringRunner.class)
@SpringBootTest
public class AppTest {
@Test
public void contextLoads() {
}
}
- 就像您可以注意到 contextLoads 测试是空的一样。我应该如何为 contextLoad 提供正确的测试?也许它应该保持空着?这是对的吗?或者我应该在里面放一些东西?
UPDATE:
- 为什么这个测试应该保留?如果我在应用程序中进行更多测试,我会知道 spring 上下文是否已加载。这不就是过多的.
我读过类似的答案this https://stackoverflow.com/questions/46650268/how-to-test-main-class-of-spring-boot-application但它没有给我明确的答案。
事实上,main()
Spring Boot 应用程序的方法不包含在单元/集成测试中,因为 Spring Boot 测试不会调用main()
方法来启动 Spring Boot 应用程序。
现在我认为这个问题的所有答案post https://stackoverflow.com/questions/46650268/how-to-test-main-class-of-spring-boot-application看起来有点矫枉过正。
他们想添加一个测试main()
使度量工具满意的方法(声纳)。
加载 Spring 上下文并加载应用程序需要时间.
不要仅仅为了在应用程序中赢得大约 0.1% 的覆盖率而将其添加到每个开发人员版本中。
我对此添加了一个答案。
除了您的简单示例和您提到的其他帖子之外,从绝对意义上讲,为以下内容创建测试可能是有意义的:main()
方法,如果您包含一些逻辑。例如,当您将特定参数传递给应用程序并在main()
方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)