在测试Android中使用多则示例

时间:2019-06-18 15:31:33

标签: android unit-testing mockito

在学习android测试时,我发现我可以多次使用“ then”。但是不了解可能有用的情况。例如

when(mockObject.add(any()))
.thenReturn(true,false)
.thenThrow(new IllegalArgumentException());

1 个答案:

答案 0 :(得分:1)

这实际上定义了连续调用时发生的情况。第一次返回,下一次抛出。我不是这种行为的支持者(我认为它更干净一些,可以专门指定收益变化并尽可能接近调用),但是有时候在堆栈深处调用是不可避免的。

因此,基本上when(...).thenReturn(true).thenReturn(false)第一次会返回true,然后会返回false。这与when(...).thenReturn(true, false)