当前位置: 代码迷 >> J2SE >> 怎么对一个具体的类进行Mock
  详细解决方案

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

热度:232   发布时间:2016-04-24 18:07:20.0
如何对一个具体的类进行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())...