如何对一个具体的类进行Mock
我有一个类A的方法里面,调用了另外一个类B。我现在要对类A的方法进行测试,但是不知道如何Mock类B这样一个具体的类。
[解决办法]
For example:
public interface MyInterface { public String getName();}public class B implements MyInterface {...}public class BB implements MyInterface {...}
[解决办法]
mockito http://mockito.org/
//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())...