MyException - 我的异常网
当前位置:我的异常网» J2SE » 怎么对一个具体的类进行Mock

怎么对一个具体的类进行Mock

www.MyException.Cn  网友分享于:2013-11-08  浏览:759次
如何对一个具体的类进行Mock
我有一个类A的方法里面,调用了另外一个类B。我现在要对类A的方法进行测试,但是不知道如何Mock类B这样一个具体的类。

------解决方案--------------------
For example:
Java code
public interface MyInterface {
    public String getName();
}

public class B implements MyInterface {
...
}

public class BB implements MyInterface {
...
}

------解决方案--------------------
mockito http://mockito.org/

Java code
 //You can mock concrete classes, not only interfaces
 LinkedList mockedList = mock(LinkedList.class);
 
 //stubbing
 when(mockedList.get(0)).thenReturn("first");
 when(mockedList.get(1)).thenThrow(new RuntimeException());

------解决方案--------------------
可以通过classloader来加载Mock类B,让Mock类B屏蔽掉实际的类B
------解决方案--------------------
new A(new B())...

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有