繁体   English   中英

如何使用Mockito和Powermockito模拟JsonArray的迭代器方法

[英]How to mock iterator method of JsonArray using mockito and powermockito

我想模拟JsonArray对象的迭代器功能。 JsonArray是一个自定义的最终类,其迭代器函数返回Iterator<JsonElement> 这是我尝试过的

JsonElement row = ["City1","Date1","Expense1"];
JsonArray jsonArray = row.getAsJsonArray();
final Iterator<JsonElement> iterator = jsonArray.iterator();
JsonElement entry = iterator.next();
if (entry == null || entry.isJsonNull()) {
    return null;
}

我想以使条目变为null的方式模拟迭代器。 这是我尝试过的方法,但是当我调试时,我看到迭代器仍然可以正常工作,好像没有被嘲笑一样。

Iterator iterator = Mockito.mock(Iterator.class);
PowerMockito.when(iterator.next()).thenReturn(null);

您要测试的方法能否将row作为参数? (看起来应该如此)

然后,您可以仅使用[null]来调用它,而不必进行模拟。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM