我有一个类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())...