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

对于我的测试,我需要模拟我的光标的 hasNext() 方法。但是,要完全测试我的代码,我需要 250 次迭代才能发送到 bulkRequest。因此,我最后需要 250 x true 和 1 x false。


我创建了一个布尔数组,里面有 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);


猛跑小猪
浏览 94回答 1
1回答

慕码人8056858

所以在你的情况下:when(cursor.hasNext()).thenAnswer(new Answer() {&nbsp; &nbsp;private int count = 0;&nbsp; &nbsp;public Object answer(InvocationOnMock invocation) {&nbsp; &nbsp; &nbsp; &nbsp; return (count++ < 250);&nbsp; &nbsp;}});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java