gpt4 book ai didi

testing - 每次调用 mock 上的方法时,如何让 Mockito 做一些事情?

转载 作者:行者123 更新时间:2023-11-28 19:48:57 25 4
gpt4 key购买 nike

我正在尝试使用 Mockito 实现此行为:

当 O 类型的对象应用于方法 M 时,mock 应该在 O 类型的对象上执行另一个方法,将其自身作为参数传递。

到底有没有可能?

最佳答案

您可能可以将 doAnswerwhenMockito.any 结合使用。 doAnswerPowerMockito 的一部分,这有助于扩展您可能想要做的很多模拟。

注意,doAnswer 用作 void 函数的示例。对于非空,您可以使用标准的 Mockito.when(MOCK.call).then(RESULT)

PowerMockito.doAnswer(new org.mockito.stubbing.Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
//Do whatever to Object O here.
return null;
}).when(MOCKOBJECT.methodCall(Mockito.any(O.class)));

然后这会对模拟对象执行有用的 doAnswer 功能,并使用 when 您可以将其分配给捕获任何特定类的对象(而不必指定它应该期望的确切对象)。使用 Mockito.any(Class.class)) 作为参数的一部分,让 Mockito 知道在遇到传入指定类型的任何对象的方法调用时触发你的 doWhatever。

关于testing - 每次调用 mock 上的方法时,如何让 Mockito 做一些事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18238709/

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