SpringBoot在使用测试的时候是否需要@RunWith?-创新互联

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

成都创新互联公司主要从事成都网站建设、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务浑源,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
  • @SpringBootTest
    • 目的是加载ApplicationContext,启动spring容器。
  • @RunWith
    • 是一个测试启动器,可以加载SpringBoot测试注解
    • 让测试在Spring容器环境下执行。如测试类中无此注解,将导致service,dao等自动注入失败

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

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

我们在使用@Test实际上有两个导包选择:
在这里插入图片描述
如果我们使用的是org.junit.jupiter.api包下的Test注解,那么我们是不需要@RunWith注解的。

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

这个启动器使用SpringJUnit4ClassRunner或者SpringRunner都可以。
实际上SpringRunner继承了SpringJUnit4ClassRunner
在这里插入图片描述

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站栏目:SpringBoot在使用测试的时候是否需要@RunWith?-创新互联
本文路径:http://scyanting.com/article/codgcs.html