zoukankan      html  css  js  c++  java
  • Mockito

    1、Mockito可以使用两种方法来Mock对象:

      1)通过@Mock注解的方式创建mock对象;

        @Mock
        HttpContext context;

      2)使用mock静态方法

      MyClass test = Mockito.mock(MyClass.class);
      when(test.getUniqueId()).thenReturn(43);

    2、when(…​.).thenReturn(…​.)可以被用来定义当条件满足时函数的返回值,如果你需要定义多个返回值,可以多次定义。

    Iterator i= mock(Iterator.class);
    when(i.next()).thenReturn("Mockito").thenReturn("rocks");
       
    String result
    =i.next()+" "+i.next(); assertEquals("Mockito rocks", result);

    3、Mocks 还可以根据传入参数的不同来定义不同的返回值

    Comparable c= mock(Comparable.class);
    when(c.compareTo(
    "Mockito")).thenReturn(1); when(c.compareTo("Eclipse")).thenReturn(2);
      
    不关心传入的int值是什么,只要是int类型就返回特定值
    when(c.compareTo(anyInt())).thenReturn(-1);
    相应的还有anyString()、anyLong()、any()等,anyObject()表示任何对象,any(clazz)表示任何属于clazz的对象

     4、验证某个方法是否被调用

    验证someClassInstance的someMethod方法是否被调
    verify(someClassInstance).someMethod(arg1, arg2, ...)

    验证someClassInstance的someMethod方法是否被调用了2次
    verify(someClassInstance, times(2)).someMethod(arg1, arg2, ...)

    此外,还有一些其他描述运行次数的方法,包括至多、至少等
    atMost(count), atLeast(count), never()
  • 相关阅读:
    《JavaScript高级程序设计》读书笔记 14章
    C# 程序集是啥
    C#之反射又是什么东西
    C#版 大数计算器加法
    C#版 大数计算器乘法
    我所认识的三层
    《JavaScript高级程序设计》读书笔记 56章
    C# 委托加深理解
    C#版 大数计算器减法
    C# 事件到底是什么
  • 原文地址:https://www.cnblogs.com/langren1992/p/9685030.html
Copyright © 2011-2022 走看看