我试图验证一个数组的所有对象中的方法是否被调用一次。
我正在使用powermockito,目前这是通过迭代对象
来完成的for(Layer layer : layers){
verify(layer,times(1)).reset();
}
是否有更有效的方法来检查是否使用该方法调用了数组中的所有对象?即没有迭代
答案 0 :(得分:1)
我想,如果没有迭代,你无法检查集合或数组中所有对象的条件。也许可以将这些信息隐藏在Mockito方法调用之后,但是,Mockito将进行迭代以检查所有对象的条件。
如果您希望查看测试代码以使其更加不言自明,则可以创建一个执行迭代的辅助方法。
如果您使用的是Java 8,则可以使用Stream.forEach(Consumer)
:http://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#forEach-java.util.function.Consumer-