如何模拟下一个高回报



对于我的测试,我需要模拟我的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);
   }
});

相关内容

  • 没有找到相关文章

最新更新