Mockito stubbing

什么是Mock stubbing

打桩是一个形象的说法,就是把所需的测试数据塞进对象中,适用于基于状态的(state-based)测试,关注的是输入和输出。Mockito stubbing 打桩功能可以使被打桩的方法调用返回期望的值。Mockito通过Mockito.when().thenReturn()实现打桩功能,在when中定义对象方法和参数(输入),然后在 thenReturn 中指定结果(输出)。一旦这个方法被 stub 了,就会一直返回这个 stub 的值。

    @CheckReturnValue
    public static <T> OngoingStubbing<T> when(T methodCall) {
        return MOCKITO_CORE.when(methodCall);
    }
 OngoingStubbing<T> thenReturn(T value);

待测试类

service 依赖repository,service种的findAll()方法调用repository的findAll()方法获取Student的集合并且对获取到的Student集合 进行下一步处理时(比如更新所有学生的className),这时候在测试service时就可以用mockito的打桩功能,给repository的findAll()方法返回的是个固定值,然后在service中继续处理。

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
汪文君是一位软件工程师,他是Mockito框架的核心开发者之一。Mockito是一个用于单元测试的Java框架,它可以帮助开发人员创建和管理模拟对象,从而简化测试过程并提供更好的代码覆盖率。在Mockito中,汪文君做出了重要的贡献,特别是在Stubbing语法方面。Stubbing是指为模拟对象设置返回值,以模拟方法的行为。 在Mockito中,我们可以使用@Mock注解来创建模拟对象。通过使用@Mock注解,我们可以方便地创建一个模拟对象,并在测试方法中使用它。例如,在上面的代码示例中,我们可以看到在testDeepMock方法中,使用了@Mock注解创建了一个PersonService对象。 通过使用@Mock注解,我们可以模拟PersonService对象的行为。例如,在上面的代码示例中,我们可以使用when语句来定义当调用personService.get()方法时,返回一个模拟的Person对象。然后,我们可以调用person对象的foo()方法来进行进一步的测试。 Mockito提供了丰富的功能和语法,使得单元测试变得更简单和灵活。而汪文君作为Mockito框架的开发者之一,为Mockito的发展做出了重要的贡献。它的存在使得我们能够更方便地进行单元测试,并提高代码的质量和可维护性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Mockito 实战总结笔记](https://blog.csdn.net/shaotianyang12/article/details/123662815)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [汪文君powermock实战教学](https://download.csdn.net/download/wangwenjun69/9674655)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值