R.C*_*R.C 6 java junit mocking mockito
尝试将 Mockito 的 spy 函数用于我的 JUnit 测试。我最初有一个类:
public class App1 {
public String method1() {
sayHello();
}
public sayHello() {
Systems.out.println("Hello");
}
}
Run Code Online (Sandbox Code Playgroud)
我的测试课程中的所有内容都与上面课程的模拟间谍一起正常工作:
@Test(expected = IOException.class)
public void testMethod1Failure(){
App1 a1 = spy(App1);
doThrow(IOException.class).when(a1).sayHello();
a1.method1();
}
Run Code Online (Sandbox Code Playgroud)
但在那之后我不得不改变事情并将 sayHello() 方法带入另一个类以用作静态方法:
public class App1 {
public String method1() {
App2.sayHello();
}
}
public class App2 {
public static void sayHello() {
Systems.out.println("Hello");
}
}
Run Code Online (Sandbox Code Playgroud)
在此更改之后,我原来的 JUnit 测试用例被破坏了,我不确定如何使用 Mockito 间谍来启动调用外部 App2 静态方法的 App1……有谁知道我该怎么做?提前致谢
Mockito 不支持模拟静态代码。以下是一些处理方法:
| 归档时间: |
|
| 查看次数: |
29087 次 |
| 最近记录: |