探索单元测试系列(3) Mockito的简单使用

定义

      mock是在测试过程中,对于一些不容易构造/获取的对象,创建一个mock对象来模拟对象的行为。

意义

    传统的单元测试需要保证程序的每一个部分都是就绪的,完整的和可用的。直到程序的各个部分被完全开发完才能进入测试阶段。mock提供了隔离测试的概念,假设A依赖B,只需要将B进行mock,返回期望的结果,就可以让A进行一次完整的单元测试。

三个步骤

   1. mock一个假对象;

   2. 定义假对象的行为;

   3. 调用假对象的方法,执行定义好的假行为

   4. 验证结果是否正确

maven引入:

        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <version>1.10.19</version>
            <scope>test</scope>
        </dependency>

实践 

package com.example.demo.mock;

import org.junit.Test;
import org.mockito.Mockito;

import java.util.ArrayList;
import java.util.List;

/**
 * @ClassName MockTest
 * @Author zhaoguang
 * @Date 2019/12/14
 * @Version 1.0
 */
public class MockTest {

    @Test
    public void test(){
        List list = Mockito.mock(ArrayList.class); //mock一个假对象
        Mockito.when(list.toString()).thenReturn(new ArrayList<String>().toString()); //定义行为
        Assert。assertTrue("[]".equals(list.toString())); //执行并验证结果
    }
}

详细使用内容参考:mockit基础使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mockito 是一个基于 Java 的开源单元测试框架。使用 Mockito 来进行单元测试可以让您更轻松地编写和运行测试,而无需实际依赖于所有可能的外部依赖项。 以下是一个简单使用 Mockito 进行单元测试的步骤: 1.添加 Mockito 依赖项到您的 pom.xml 文件中。这可以通过下面的代码完成: <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>2.25.1</version> <scope>test</scope> </dependency> 2.创建一个包含一些需要测试的方法的 Java 类。 3.在测试类中创建一个 Mock 对象,并使用 Mockito.when() 方法模拟对象的行为。 4.使用 assertEquals() 断言来比较模拟的对象的预期结果与实际结果是否一致。 这里是一个使用 Mockito 进行单元测试的示例: public class CalculatorTest { @Mock private CalculatorService calculatorService; private Calculator calculator; @Before public void setUp(){ MockitoAnnotations.initMocks(this); calculator = new Calculator(calculatorService); } @Test public void testAdd(){ when(calculatorService.add(2,3)).thenReturn(5); assertEquals(10, calculator.perform(2,3)); } } 在这个示例中,我们模拟了一个 CalculatorService 对象,并在测试方法中调用了 calculator.perform(2,3) 方法。当我们调用 add() 方法时,它会返回 5,我们使用 assertEquals() 来确保实际结果等于预期结果。 注意:在上面的示例中,我们在 setUp() 方法中初始化了 Mockito,以确保 Mock 对象已正确注入。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值