zoukankan      html  css  js  c++  java
  • 6. spy

    package lesson6;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.mockito.runners.MockitoJUnitRunner;
    import java.util.ArrayList;
    import java.util.List;
    import static org.junit.Assert.assertEquals;
    import static org.mockito.Mockito.spy;
    import static org.mockito.Mockito.when;
    
    @RunWith(MockitoJUnitRunner.class)
    public class _1_SpyingTest {
        @Test
        public void testSpy() {
            List<String> realList = new ArrayList<>();
            /**
             * spy过的对象都会调用真正的方法
             * 利用when-thenReturn来Mock不需要真正调用的方法
             */
            List<String> list = spy(realList);
            list.add("Mockito");
            list.add("Fuck");
            assertEquals(false, list.isEmpty());
            assertEquals("Mockito", list.get(0));
            assertEquals("Fuck", list.get(1));
    
            when(list.isEmpty()).thenReturn(true);
            assertEquals(true, list.isEmpty());
        }
    }
    package lesson6;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.mockito.Spy;
    import org.mockito.runners.MockitoJUnitRunner;
    import java.util.ArrayList;
    import java.util.List;
    import static org.junit.Assert.assertEquals;
    import static org.mockito.Mockito.when;
    
    @RunWith(MockitoJUnitRunner.class)
    public class _2_SpyingAnnotationTest {
    
        @Spy
        List<String> list = new ArrayList<>();
    
        @Test
        public void testSpy() {
            list.add("Mockito");
            list.add("Fuck");
            assertEquals(false, list.isEmpty());
            assertEquals("Mockito", list.get(0));
            assertEquals("Fuck", list.get(1));
    
            when(list.isEmpty()).thenReturn(true);
            assertEquals(true, list.isEmpty());
        }
    }
  • 相关阅读:
    content-type
    文件上传
    注册案例
    20 行代码极速为 App 加上聊天功能
    一步一步带你安装史上最难安装的 vim 插件 —— YouCompleteMe
    iOS 调试心得
    Playground 你不知道的小技巧, CoreData 的使用
    令人眼前一亮的下拉式终端 Tilda & Guake
    代码可读性提升指南
    iOS 推送问题全解答《十万个为啥吖?》
  • 原文地址:https://www.cnblogs.com/yfzhou528/p/14025053.html
Copyright © 2011-2022 走看看