spring单元测试之@RunWith的使用详解

 更新时间:2023年12月25日 11:05:24   作者:云川之下  
这篇文章主要介绍了spring单元测试之@RunWith的使用详解,@RunWith 就是一个运行器,@RunWith(JUnit4.class) 就是指用JUnit4来运行,
@RunWith(SpringJUnit4ClassRunner.class),让测试运行于Spring测试环境,需要的朋友可以参考下

@RunWith作用

这是spring的原生语法 SpringBoot语法参见 使用@SpringBootTest注解进行单元测试

@RunWith 就是一个运行器:

  • @RunWith(JUnit4.class) 就是指用JUnit4来运行
  • @RunWith(SpringJUnit4ClassRunner.class),让测试运行于Spring测试环境 ,此时需要搭配@ContextConfiguration 使用,Spring整合JUnit4测试时,使用注解引入多个配置文件
  • @RunWith(Suite.class) 的话就是一套测试集合

@ContextConfiguration语法:

单个文件

  • @ContextConfiguration(Locations=“classpath:applicationContext.xml”)
  • @ContextConfiguration(classes = SimpleConfiguration.class)

多个文件时,可用{}

@ContextConfiguration(locations = { “classpath:spring1.xml”, “classpath:spring2.xml” })

@RunWith(SpringJunit4ClassRunner.class) 使用说明

@RunWIth(SpringJunit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext.xml"}
public  class MyTest
{
	@Test
	public void hehe()
	{
		//.......
	}
}

这种写法是为了让测试在Spring容器环境下执行。

Spring的容器环境是啥呢? 比如常见的 Service Dao Action , 这些个东西,都在Spring容器里,junit需要将他们拿到,并且使用来测试。

例如,我们注入了一个SomeService 的实例:

@RunWIth(SpringJunit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext.xml"}
public  class MyTest
{
    @Autowired
    SomeService service;  //注入了一个service
	@Test
	public void hehe()
	{
		//.......
	}
}

到此这篇关于spring单元测试之@RunWith的使用详解的文章就介绍到这了,更多相关spring的@RunWith使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java Fluent Mybatis 分页查询与sql日志输出详解流程篇

    Java Fluent Mybatis 分页查询与sql日志输出详解流程篇

    Java中常用的ORM框架主要是mybatis, hibernate, JPA等框架。国内又以Mybatis用的多,基于mybatis上的增强框架,又有mybatis plus和TK mybatis等。今天我们介绍一个新的mybatis增强框架 fluent mybatis关于分页查询、sql日志输出流程
    2021-10-10
  • Java中BigDecimal除法使用不当导致精度问题

    Java中BigDecimal除法使用不当导致精度问题

    本文主要介绍了Java中BigDecimal除法使用不当导致精度问题,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Java如何使用elasticsearch进行模糊查询

    Java如何使用elasticsearch进行模糊查询

    这篇文章主要介绍了Java如何使用elasticsearch进行模糊查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • java实现猜拳游戏

    java实现猜拳游戏

    这篇文章主要为大家详细介绍了java实现猜拳游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • No ‘Access-Control-Allow-Origin‘ header is present跨域及解决

    No ‘Access-Control-Allow-Origin‘ header is&nb

    这篇文章主要介绍了No ‘Access-Control-Allow-Origin‘ header is present跨域及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • AQS核心流程解析cancelAcquire方法

    AQS核心流程解析cancelAcquire方法

    可以清楚的看到在互斥锁和共享锁的拿锁过程中都是有调用此方法的,而cancelAcquire()方法是写在finally代码块中,并且使用failed标志位来控制cancelAcquire()方法的执行
    2023-04-04
  • Java封装数组之改进为泛型数组操作详解

    Java封装数组之改进为泛型数组操作详解

    这篇文章主要介绍了Java封装数组之改进为泛型数组操作,结合实例形式详细分析了Java封装数组为泛型数组相关原理、操作技巧与注意事项,需要的朋友可以参考下
    2020-03-03
  • SpringBoot中使用Cookie实现记住登录的示例代码

    SpringBoot中使用Cookie实现记住登录的示例代码

    这篇文章主要介绍了SpringBoot中使用Cookie实现记住登录的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Mybatis中使用updateBatch进行批量更新

    Mybatis中使用updateBatch进行批量更新

    这篇文章主要介绍了Mybatis中使用updateBatch进行批量更新的相关资料,有逐条更新,sql批量更新等,具体实例代码大家参考下本文
    2018-04-04
  • Java RocksDB安装与应用

    Java RocksDB安装与应用

    本篇文章主要给大家介绍了JAVA中RocksDB的安装与应用,有需要到的朋友一起学习参考下。
    2017-12-12

最新评论