如何JUnit测试迭代器

JJ *_*Liu 12 java testing junit unit-testing

例如,我该如何测试:

ArrayList<String> list = new ArrayList<String>();
list.iterator();
Run Code Online (Sandbox Code Playgroud)

如何测试这个" iterator()"方法?

谢谢.

ass*_*ias 21

我能想到的几个测试是:

  • 在空集合上测试hasNext(返回false)
  • 测试一个空集合的next()(抛出异常)
  • 在包含一个项目的集合上测试hasNext(返回true,多次)
  • 在带有一个项目的集合上测试hasNext/next:hasNext返回true,next返回项目,hasNext返回false,两次
  • 测试删除该集合:检查大小为0后
  • test再次删除:异常
  • 使用包含多个项目的集合进行最终测试,确保迭代器以正确的顺序(如果有的话)遍历每个项目
  • 从集合中删除所有元素:集合现在为空

您还可以查看openJDK中使用的测试.