博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Junit系列之六
阅读量:5873 次
发布时间:2019-06-19

本文共 1384 字,大约阅读时间需要 4 分钟。

hot3.png

Mock测试

Mockito allows to configure the return values of its mocks via a fluent API. Unspecified method calls return "empty" values:

  • null for objects
  • 0 for numbers
  • false for boolean
  • empty collections for collections

利用ArgumentCaptor(参数捕获器)捕获方法

参数进行验证通过 ArgumentCaptor 对象的forClass(Class
clazz)方法来构建ArgumentCaptor对象。然后便可在验证时对方法的参数进行捕获,最后验证捕获的参数值。如果方法有多个参数都要捕获验证,那就需要创建多个ArgumentCaptor对象处理。 当某个对象进行了多次调用后,比如mock对象。这时调用argument.getValue()获取到的是最后一次调用的参数。如果要获取所有的参数值可以调用argument.getAllValues(),它将返回参数值的List
@Test    public void testArgumentCaptor() {        when(userDao.findByUser("hs", "123")).thenReturn(new User("hs", "123"));        when(userDao.findByUser("ys", "321")).thenReturn(new User("ys", "321"));        assertThat(userService.findByUser("hs", "123"), is(new User("hs", "123")));        assertThat(userService.findByUser("ys", "321"), is(new User("ys", "321")));        ArgumentCaptor
captor = ArgumentCaptor.forClass(String.class); verify(userDao, times(2)).findByUser(captor.capture(), captor.capture()); System.out.println(captor.getValue()); System.out.println(captor.getAllValues()); }
321[hs, 123, ys, 321]

unit -mock without autowire

In Spring Boot applications, by using Mockito, you replace the @Autowired components in the class you want to test with mock objects.

转载于:https://my.oschina.net/xd03122049/blog/1217787

你可能感兴趣的文章
Xamarin.Android开发实践(七)
查看>>
彩色图像上执行Mean Shift迭代搜索目标 ,维加权直方图 + 巴氏系数 + Mean Shift迭代...
查看>>
深入理解JavaScript系列
查看>>
strtol 函数用法
查看>>
eclipse内存溢出设置
查看>>
搭建jenkins环境(linux操作系统)
查看>>
VS 2015 GIT操作使用说明
查看>>
上海办理房产税变更
查看>>
每天一个linux命令(52):scp命令
查看>>
CMOS Sensor Interface(CSI)
查看>>
linq中的contains条件
查看>>
HDU 5590 ZYB's Biology 水题
查看>>
memcached 分布式聚类算法
查看>>
言未及之而言,谓之躁;言及之而不言,谓之隐;未见颜色而言,谓之瞽(gǔ)...
查看>>
MYSQL查询一周内的数据(最近7天的)
查看>>
Redis的缓存策略和主键失效机制
查看>>
禁止body滚动允许div滚动防微信露底
查看>>
Xtreme8.0 - Kabloom dp
查看>>
jquery css3问卷答题卡翻页动画效果
查看>>
MDK5.00中*** error 65: access violation at 0xFFFFFFFC : no 'write' permission的一种解决方法
查看>>