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

    带着疑问去思考,然后串联,进而归纳总结,不断追问自己,进行自我辩证,像侦查嫌疑案件一样看待技术问题,漆黑的街道,你我一起寻找线索,你就是技术界大侦探福尔摩斯
  • 相关阅读:
    ASCII码表以及不同进制间的O(1)转换
    四则运算表达式的语法分析
    语法分析器初步学习——LISP语法分析
    ASC与HEX之间的转换
    字节存储数据
    进制之间的转换
    java多线程CountDownLatch
    java反射机制
    java注解
    使用javafx实现视频播放器
  • 原文地址:https://www.cnblogs.com/cainiao-Shun666/p/14804797.html
Copyright © 2011-2022 走看看