尝试在我的JUnit测试中使用Mockito的spy功能。我最初有一个类:
public class App1 {
public String method1() {
sayHello();
}
public sayHello() {
Systems.out.println("Hello");
}
}
在我测试类中,使用mockito spy对上述类进行了正确的操作:
@Test(expected = IOException.class)
public void testMethod1Failure(){
App1 a1 = spy(App1);
doThrow(IOException.class).when(a1).sayHello();
a1.method1();
}
但是之后,我不得不重新调整代码,并将sayHello()方法放到另一个类中,作为静态方法使用:
public class App1 {
public String method1() {
App2.sayHello();
}
}
public class App2 {
public static void sayHello() {
Systems.out.println("Hello");
}
}
在这个改变后,我的原始JUnit测试用例出现了问题,我不确定如何使用Mockito spy来启动调用外部App2静态方法的App1...有人知道我该怎么做吗?提前感谢。