zoukankan      html  css  js  c++  java
  • Mockito (四)

    Mockito @Mock 注解

    @Mock 注解可以理解为对 mock 方法的一个替代。

    使用该注解时,要使用MockitoAnnotations.initMocks 方法,让注解生效。

    示例1:

    import org.junit.Assert;
    import org.junit.Test;
    import org.mockito.Mock;
    import org.mockito.MockitoAnnotations;
    
    import java.util.Random;
    
    import static org.mockito.Mockito.*;
    
    public class MockitoDemo {
    
        @Mock
        private Random random;
    
        @Test
        public void test() {
            // 让注解生效
            MockitoAnnotations.initMocks(this);
    
            when(random.nextInt()).thenReturn(100);
    
            Assert.assertEquals(100, random.nextInt());
        }
    
    }

    MockitoAnnotations.initMocks 放在 junit 的 @Before 注解修饰的函数中更合适。

    示例2:

    import org.junit.Assert;
    import org.junit.Before;
    import org.junit.Test;
    import org.mockito.Mock;
    import org.mockito.MockitoAnnotations;
    
    import java.util.Random;
    
    import static org.mockito.Mockito.*;
    
    public class MockitoDemo {
    
        @Mock
        private Random random;
    
        @Before
        public void before() {
            // 让注解生效
            MockitoAnnotations.initMocks(this);
        }
    
        @Test
        public void test() {
            when(random.nextInt()).thenReturn(100);
    
            Assert.assertEquals(100, random.nextInt());
        }
    
    }

    MockitoAnnotations.initMocks 的一个替代方案是使用 MockitoJUnitRunner 。

    示例3:

    import org.junit.Assert;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.mockito.Mock;
    import org.mockito.junit.MockitoJUnitRunner;
    
    import java.util.Random;
    
    import static org.mockito.Mockito.*;
    
    @RunWith(MockitoJUnitRunner.class)
    public class MockitoDemo {
    
        @Mock
        private Random random;
    
        @Test
        public void test() {
            when(random.nextInt()).thenReturn(100);
            Assert.assertEquals(100, random.nextInt());
        }
    
    }

    转载:https://www.letianbiji.com/java-mockito/mockito-@mock.html

    带着疑问去思考,然后串联,进而归纳总结,不断追问自己,进行自我辩证,像侦查嫌疑案件一样看待技术问题,漆黑的街道,你我一起寻找线索,你就是技术界大侦探福尔摩斯
  • 相关阅读:
    Pycharm软件更换pip默认安装源为国内安装源
    电商网站名词item>SKU与SPU
    Linux通过端口号查看使用进程结束进程
    window系统下的pycharm对虚拟机中的Ubuntu系统操作MySQL数据库
    JAVA项目常用的异常处理情况总结
    公文流转系统(未完成)
    《程序员修炼之道》读后感(三)
    Java文件操作递归遍历文件目录
    Java Web初试连接数据库完成学生信息录入
    JavaJFrame窗口实现新课程添加
  • 原文地址:https://www.cnblogs.com/cainiao-Shun666/p/14804371.html
Copyright © 2011-2022 走看看