zoukankan      html  css  js  c++  java
  • 15. BddStyle: given-willReturn、OneLiner风格

    package lesson15;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.mockito.Mock;
    import org.mockito.runners.MockitoJUnitRunner;
    
    import java.util.List;
    
    import static org.hamcrest.CoreMatchers.equalTo;
    import static org.junit.Assert.assertThat;
    import static org.mockito.BDDMockito.given;
    import static org.mockito.Matchers.anyInt;
    
    @RunWith(MockitoJUnitRunner.class)
    public class BddStyleTest {
        @Mock
        private List<String> list;
    
        @Test
        public void test() {
            given(list.get(anyInt())).willReturn("xxx");
            assertThat(list.get(1), equalTo("xxx"));
        }
    }
    package lesson15;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.mockito.runners.MockitoJUnitRunner;
    
    import java.util.Map;
    
    import static org.hamcrest.CoreMatchers.equalTo;
    import static org.junit.Assert.assertThat;
    import static org.mockito.Matchers.any;
    import static org.mockito.Mockito.mock;
    import static org.mockito.Mockito.when;
    
    @RunWith(MockitoJUnitRunner.class)
    public class OneLinerStubbingTest {
        @Test
        public void testNormal() {
            Map<String, String> map = mock(Map.class);
            when(map.get(any())).thenReturn("x1", "x2");
            assertThat(map.get("1"), equalTo("x1"));
            assertThat(map.get("1"), equalTo("x2"));
            assertThat(map.get("1"), equalTo("x2"));
        }
    
        @Test
        public void testOneLiner() {
            Map<String, String> map = when(mock(Map.class).get(any())).thenReturn("x1", "x2").getMock();
            assertThat(map.get("1"), equalTo("x1"));
            assertThat(map.get("1"), equalTo("x2"));
            assertThat(map.get("1"), equalTo("x2"));
        }
    }
  • 相关阅读:
    Redis和Memcache的区别
    j2EE框架collection
    总结乐观锁和悲观锁
    lunix,命令集锦
    遍历Map集合的方法
    arrayList和vector的区别
    python借助zookeeper实现分布式服务(二)
    python借助zookeeper实现分布式服务(一)
    zookeeper常用命令
    python实现事件驱动模型
  • 原文地址:https://www.cnblogs.com/yfzhou528/p/14025677.html
Copyright © 2011-2022 走看看