开发者

浅谈SpringBoot在使用测试的时候是否需要@RunWith

开发者 https://www.devze.com 2023-01-15 10:32 出处:网络 作者: 十八岁讨厌编程
我们在使用SpringBoot进行测试的时候一般是需要加两个注解: @SpringBootTest 目的是加载ApplicationContext,启动spring容器。

我们在使用SpringBoot进行测试的时候一般是需要加两个注解:

@SpringBootTest

  • 目的是加载ApplicationContext,启动spring容器。

@RunWith

  • 是一个测试启动器,可以加载SpringBoot测试注解
  • 让测试在Spring容器环境下执行。如测试类中无此注解,将导致service,dao等自动注入失败

但是我android们有时候在使用的时候会发现不需要@RunWith注解,也可以运行测试类。在网上查了很多资料,有很多人说是IDEA编译器的原因,暂且不说他们说的是否正确,我发现的原因与他们并不一样。

我发现根本原因是:@Test的导包问题

我们在使用@Test实际上有两个导包选择:

浅谈SpringBoot在使用测试的时候是否需要@RunWith

如果我们使用的是org.junit.jupiter.api包下的Test注解,那么我们是不需要@RunWitjavascripth注解的。

而如果我们使用的是org.junit包下的Test注解,那么就需要@RunWith注解,如果我们不使用的话会出现空指针的情况:

浅谈SpringBoot在使用测试的时候是否需要@RunWith

这个启动器使用SpringJUnitphp4ClassRunjavascriptner或者SpringRunner都可以。

实际上SpringRunner继承了SpringJUnit4ClassRunner:

浅谈SpringBoot在使用测试的时候是否需要@RunWith

&javascriptnbsp;到此这篇关于浅谈SpringBoot在使用测试的时候是否需要@RunWith的文章就介绍到这了,更多相开发者_开发学习关SpringBoot @RunWith内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号