为了账号安全,请及时绑定邮箱和手机立即绑定

如何模拟具有大量回报的 hasNext

如何模拟具有大量回报的 hasNext

猛跑小猪 2022-05-25 16:07:42
对于我的测试,我需要模拟我的光标的 hasNext() 方法。但是,要完全测试我的代码,我需要 250 次迭代才能发送到 bulkRequest。因此,我最后需要 250 x true 和 1 x false。我创建了一个布尔数组,里面有 250 个真和 1 个假我得到了什么@Mockprivate Cursor<Record> cursor;public void myTest(){  when(cursor.hasNext()).thenReturn(true, false);}但现在我需要 250 个光标条件,所以我创建了一个布尔数组,但显然它无法编译final boolean[] cursorsResponses = fillCursors();when(cursor.hasNext()).thenReturn(cursorsResponses);
查看完整描述

1 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

所以在你的情况下:


when(cursor.hasNext()).thenAnswer(new Answer() {

   private int count = 0;


   public Object answer(InvocationOnMock invocation) {

        return (count++ < 250);

   }

});


查看完整回答
反对 回复 2022-05-25
  • 1 回答
  • 0 关注
  • 93 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信