当前位置: 首页 > 知识库问答 >
问题:

SpringRunner vs SpringBootTest

帅彦
2023-03-14

在单元测试中,@Runwith(SpringRunner.class)

你能给我解释一下每一个的用例吗?

共有3个答案

周龙光
2023-03-14

从Spring开始。io:

@RunWith(SpringRunner.class)告诉JUnit使用Spring的测试支持运行SpringRunnerSpringJUnit4ClassRunner的新名称,只是看起来简单了一点。

@SpringBootTest是说引导与Spring Boot的支持(例如加载application.properties并给我所有的Spring Boot的优点)

因此,如果您不需要Spring Boot为集成测试加载的所有内容,您可能不需要@SpringBootTest

曹泉
2023-03-14

@RunAnd是JUnit 4中使用测试运行程序的旧注释。如果您正在使用JUnit 5(Jupiter),您应该使用@ExentiAnd来使用JUnit扩展

看https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-testing

“如果您使用的是JUnit 4,请不要忘记将@RunWith(SpringRunner.class)添加到测试中,否则注释将被忽略。如果您使用的是JUnit 5,则无需将等效的@ExtendWith(SpringExtension.class)添加为@SpringBootTest,其他@…测试注释已经用它进行了注释。

龚沛
2023-03-14

@RunAnd(SpringRunner.class):您需要这个注释来在jUnit测试期间启用Spring引导功能,如@autowire@MockBean

用于在Spring Boot测试功能和JUnit之间提供桥梁。每当我们在JUnit测试中使用任何Spring Boot测试功能时,都需要这个注释。

@SpringBootTest:此注释用于加载端到端集成测试的完整应用程序上下文

当我们需要引导整个容器时,可以使用@SpringBootTest注释。注释通过创建将在测试中使用的ApplicationContext来工作。

下面是一篇关于这两种情况的文章

 类似资料:

相关问答

相关文章

相关阅读