2017-08-28 82 views
0

我有一個雙向鏈接列表int。我想測試Get()方法:我應該應用多少個測試來加倍鏈接列表測試?

public E get (int index) 

多少睾丸應我的JUnit實現完全覆蓋的情況下?

謝謝,希望能儘快回覆。

+0

使用像雅各科,三葉草或cobertura覆蓋工具,你會知道你的測試是否覆蓋了所有的代碼。這取決於你的實現。但通過編寫代碼,您應該知道需要測試的代碼的哪些核心代碼案例/分支。事實上,即使是方法的javadoc也應該指定所有需要測試的可能情況。 –

回答

3

我覺得你可以按照下面的所有測試的每一個元素:

  1. 從空列表中測試Get(0)
  2. 測試Get(-1)從與01元件
  3. 測試Get(0)從列表從與2元素的列表的列表與1個元件
  4. 測試Get(1)
+0

謝謝,這真的很有幫助。 – coder

1

雖然問題有點寬泛,但我認爲可以實施以下案例。

  1. 訪問一個空列表
  2. 訪問一個非空列表
  3. 訪問一個非空列表
  4. 的最後一個元素訪問比所述第一個和最後一個列表與在其他的元素的第一元素至少3項
  5. 訪問一個非空列表
+0

對於測試1.,檢查是否拋出了「IndexOutOfBoundsException」。添加測試6.訪問具有負索引的元素和7.訪問索引大於或等於列表大小的元素。他們還應該拋出'IndexOutOfBoundsException'。 –

+0

@Codor:爲什麼我需要訪問列表中至少有3個條目的元素?我認爲我們可以通過2個條目訪問列表就足夠了。 –

+0

@MinhBui這只是一個建議。 – Codor

0

想到什麼行爲列表應該有。

有關可與圖案建立的每個句子:
給出[數據組合]作爲輸入的列表應該[預期的行爲]
你應該有一個單個測試方法

建立這個句子時,你應該考慮有效的輸入數據以及錯誤條件。