gpt4 book ai didi

java - 模拟以 String 作为参数的方法 Mockito

转载 作者:行者123 更新时间:2023-12-01 22:53:43 24 4
gpt4 key购买 nike

我正在尝试模拟一个以字符串作为参数的方法,根据我想要返回不同值的字符串值,下面是我的示例代码

when(mockVariableResolver.resolveVariable(
(FacesContext)anyObject(),
Mockito.eq(ProgramConstants.SRCH_PROC_DATA_BEAN))).
thenReturn(searchProcedureCodeDataBean);

resolveVariable metjos 接受一个对象和一个字符串,对象可以是任何东西,但第二个参数必须匹配,上面的参数不起作用。

编辑:

resolveVariable 方法的签名是

fc.getApplication().getVariableResolver().resolveVariable(fc,
"#{" + ProgramConstants.SRCH_PROC_DATA_BEAN + "}")

请帮我解决这个问题。

最佳答案

根据您的描述,我会将其实现为 Mockito.Answer :

when(mock.resolveVariable(anyObject(), anyString())).thenAnswer(new Answer<String>() {
@Override
public String answer(InvocationOnMock invocation) throws Throwable {
Object[] args = invocation.getArguments();
String secondArgument = (String) args[1];
//
// TODO: make return value depend from secondArgument
return null;
}
});

关于java - 模拟以 String 作为参数的方法 Mockito,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24385281/

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