对于我的测试,我需要模拟我的cursos的hasNext()方法。但是,要完全测试我的代码,我需要 250 次迭代才能发送到 bulkRequest。因此,最后我需要 250 x 真和 1 x 假。
我创建了一个布尔数组,其中填充了 250 个真和 1 个假
我得到了什么
@Mock
private Cursor<Record> cursor;
public void myTest(){
when(cursor.hasNext()).thenReturn(true, false);
}
但现在我需要 250 个光标条件所以我创建了一个布尔数组,但它没有编译
final boolean[] cursorsResponses = fillCursors();
when(cursor.hasNext()).thenReturn(cursorsResponses);
所以
在你的例子中:
when(cursor.hasNext()).thenAnswer(new Answer() {
private int count = 0;
public Object answer(InvocationOnMock invocation) {
return (count++ < 250);
}
});