gpt4 book ai didi

java - Mockito 方法行为

转载 作者:行者123 更新时间:2023-11-30 07:37:16 25 4
gpt4 key购买 nike

我有一个工厂接口(interface) B,它返回类型 A 的对象。类型 A 也是一个接口(interface)。

我无法弄清楚如何在模拟中定义 A.doSomething() 的方法行为,因为每次工厂返回 A 的新实例时,它都需要知道如何 doSomething()。

这是我迄今为止模拟工厂的内容,但是 A 不知道如何 doSomething()。

when(B.getObject()).thenReturn(Mockito.mock(A.class));

是否可以通过某种方式为将返回的 A 的所有实例定义 A.doSomething() ?

非常感谢任何帮助。

最佳答案

A a = createA();
when(B.getObject()).thenReturn(a);

private static A createA() {
A result = Mockito.mock(A.class);
when(A.doSomething()).thenReturn(something);
return result;
}

您可能会想尝试以下操作:

when(B.getObject()).thenReturn(createA());

但由于“嵌套”模拟,它不会工作。更多详情here .

关于java - Mockito 方法行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35214299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com