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

    带着疑问去思考,然后串联,进而归纳总结,不断追问自己,进行自我辩证,像侦查嫌疑案件一样看待技术问题,漆黑的街道,你我一起寻找线索,你就是技术界大侦探福尔摩斯
  • 相关阅读:
    Linux命令——getfacl、setfacl
    Linux命令——groups
    Linux命令——gdisk、fdisk、partprobe
    Linux命令——parted
    Linux命令——blkid
    Linux命令——chattr、lsattr
    Linux命令——od
    Linux命令——basename、dirname
    Linux命令——chgrp、chown、chmod
    Linux命令——pidof
  • 原文地址:https://www.cnblogs.com/cainiao-Shun666/p/14804371.html
Copyright © 2011-2022 走看看