我已经开始使用 Mockito AdditionalAnswers#returnsFirstArg
,这很棒:
when(myMock.myFunction(anyString())).then(returnsFirstArg());
但我想知道是否有一种简单的方法来提取输入参数以便在构造函数中使用,例如:
when(myMock.myFunction(anyString())).thenReturn(new MyObject((String)returnsFirstArg()));
(这显然行不通...)
最佳答案
恕我直言,最简单(唯一?)的方法是使用 thenAnswer
方法,它不仅可以返回一个值,还可以实际执行一些代码。 Java 8 使这变得特别优雅,因为您可以只使用匿名 lambda:
when(myMock.myFunction(anyString()))
.thenAnswer(i -> new MyObject((String)i.getArguments()[0]);
关于java - Mockito returnsFirstArg() 使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43639716/