簡體   English   中英

如何JUnit測試迭代器

[英]How to JUnit test a iterator

例如,我該如何測試:

ArrayList<String> list = new ArrayList<String>();
list.iterator();

如何測試這個“ iterator() ”方法?

謝謝。

我能想到的幾個測試是:

  • 在空集合上測試hasNext(返回false)
  • 測試一個空集合的next()(拋出異常)
  • 在包含一個項目的集合上測試hasNext(返回true,多次)
  • 在帶有一個項目的集合上測試hasNext / next:hasNext返回true,next返回項目,hasNext返回false,兩次
  • 測試刪除該集合:檢查大小為0后
  • test再次刪除:異常
  • 使用包含多個項目的集合進行最終測試,確保迭代器以正確的順序(如果有的話)遍歷每個項目
  • 從集合中刪除所有元素:集合現在為空

您還可以查看openJDK中使用的測試

你沒有。

來自甲骨文和太陽的人已經做到了。

如果你創建自己的迭代器實現,那么你必須實現AFAIR 2方法,你必須檢查它們是否服從合同。

現在這意味着:返回底層集合的下一個元素或拋出異常並告知是否有后續元素。 只需在迭代器上調用這些方法並斷言結果即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM