gpt4 book ai didi

Java Mockito : How to prepare different answers

转载 作者:行者123 更新时间:2023-12-02 01:27:31 26 4
gpt4 key购买 nike

int calledCnt = 0;
doAnswer(i -> {
if (calledCnt == 0) {
calledCnt += 1;
throw new InternalServerErrorException("test");
}
return false;
}).when(myClass.someFunction(any()));

我想 stub 一个调用,如果最初调用它会抛出异常,但任何后续调用都将返回 false;

上面的调用提示“lambda 中使用的变量应该是最终的或有效的最终”

最佳答案

根据 myClass 是您正在测试的东西还是依赖项,我建议完全或部分模拟 myClass (即至少 someFunction () 调用)。使用 then...() 方法,您可以指定要返回的系列项目,例如:

when(myMockedClass.someFunction(any()))
.thenThrow(new InternalServerErrorException("test"))
.thenReturn(false);

第一个调用将引发异常,第二个调用以及所有后续调用将返回 false。

关于Java Mockito : How to prepare different answers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56677335/

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