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

    Mockito 参数匹配顺序

    如果参数匹配即声明了精确匹配,也声明了模糊匹配;又或者同一个值的精确匹配出现了两次,使用时会匹配哪一个?

    会匹配符合匹配条件的最新声明的匹配。

    示例:

    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.List;
    
    import static org.mockito.Mockito.*;
    
    @RunWith(MockitoJUnitRunner.class)
    public class MockitoDemo {
    
    
        @Mock
        private List<String> testList;
    
        @Test
        public void test01() {
    
            // 精确匹配 0
            when(testList.get(0)).thenReturn("a");
    
            Assert.assertEquals("a", testList.get(0));
    
            // 精确匹配 0
            when(testList.get(0)).thenReturn("b");
    
            Assert.assertEquals("b", testList.get(0));
    
            // 模糊匹配
            when(testList.get(anyInt())).thenReturn("c");
    
            Assert.assertEquals("c", testList.get(0));
            Assert.assertEquals("c", testList.get(1));
    
        }
    
        @Test
        public void test02() {
    
            // 模糊匹配
            when(testList.get(anyInt())).thenReturn("c");
    
            Assert.assertEquals("c", testList.get(0));
            Assert.assertEquals("c", testList.get(1));
    
            // 精确匹配 0
            when(testList.get(0)).thenReturn("a");
    
            Assert.assertEquals("a", testList.get(0));
            Assert.assertEquals("c", testList.get(1));
    
        }
    
    }

    转载:https://www.letianbiji.com/java-mockito/mockito-parameter-match-order.html

    带着疑问去思考,然后串联,进而归纳总结,不断追问自己,进行自我辩证,像侦查嫌疑案件一样看待技术问题,漆黑的街道,你我一起寻找线索,你就是技术界大侦探福尔摩斯
  • 相关阅读:
    洛谷P2740 草地排水
    BZOJ 4326 运输计划
    BZOJ 1036 树的统计
    BZOJ 1003 物流运输
    BZOJ 1251 序列终结者
    HDU4864 Task(算竞进阶习题)
    洛谷P4281 紧急集合 / 聚会
    CH0802 占卜DIY
    node.js(二)各种模块
    node.js对象数据类型
  • 原文地址:https://www.cnblogs.com/cainiao-Shun666/p/14804797.html
Copyright © 2011-2022 走看看