java - 如何在java中模拟单个方法

标签 java mocking

是否可以模拟 Java 类的单个方法?

例如:

class A {
    long method1();
    String method2();
    int method3();
}


// in some other class
class B {
    void someMethod(A a) {
       // how would I mock A.method1(...) such that a.method1() returns a value of my
       // choosing;
       // whilst leaving a.method2() and a.method3() untouched.
    }
}

最佳答案

使用 Mockito 的 spy 机制:

A a = new A();
A aSpy = Mockito.spy(a);
Mockito.when(aSpy.method1()).thenReturn(5l);

对于任何未 stub 的方法,使用 spy 调用包装对象的默认行为。

Mockito.spy()/@Spy

关于java - 如何在java中模拟单个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10895605/

相关文章:

java - 为什么我的循环坏了? [20][6] 的二维数组

java - 如何发现后台JavaFX图像加载失败?

java - 无法获得 Oracle 连接

python - 如何在基于 Click 的 CLI 应用程序的单元测试中模拟组件?

java - 为什么 array.sort 不能通过这样的数组工作?

java - JSF 对话框立即消失

c# - 如何使用 Moq 模拟 X509Certificate2?

java - 处理或否则抛出

java - 服务对象没有用数据模拟?

rest - Golang HTTP REST 模拟