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

    带着疑问去思考,然后串联,进而归纳总结,不断追问自己,进行自我辩证,像侦查嫌疑案件一样看待技术问题,漆黑的街道,你我一起寻找线索,你就是技术界大侦探福尔摩斯
  • 相关阅读:
    常用软件
    树和二叉树的一些基本术语
    二分查找(Binary Search)
    GPIO模拟IIC接口信号质量分析
    PAT (Basic Level) Practise:1021. 个位数统计
    PAT (Basic Level) Practise:1017. A除以B
    PAT (Basic Level) Practise:1027. 打印沙漏
    文件操作:输出文件二进制数据
    阈值与平滑处理
    图像基本操作
  • 原文地址:https://www.cnblogs.com/cainiao-Shun666/p/14804371.html
Copyright © 2011-2022 走看看