如果我也不太清楚其下面的測試將是必要的或冗餘。 考慮單元測試下面的代碼:應該爲代碼分支應用什麼樣的單元測試組合?
public class Locker {
public enum Type { FOO, BAR, FOOBAR };
private Locker() {}
public boolean shouldlock (int x) {
return x > 10;
}
public boolean lock (Type type, int x) {
switch (type) {
case FOO : return shouldlock(x);
case BAR : return shouldlock(x * 2);
}
return false;
}
}
測試案例1:兩個真假的情況下測試shouldlock
。 - 毫無疑問,迄今爲止。
Question 1
:
測試用例2:lock
輸入類型Foo
真假情況下還進行測試,即,它們兩者。 ?根據它的調用shouldlock
,我們已經測試了兩種情況。因此它可能是多餘的。但不太確定。
Question 2
:
測試案例3:假設答案Question1
是真的,我們是否還需要測試Bar
真假呢?
Question 3
:
測試案例4:假設答案都Question1 and Question2
是真實的。現在假設shouldlock
更改爲私有(只是假設它)。測試的唯一區別是我應該省略Test case 1
?
Question 4
:
測試案例5:是否需要檢查,唯一的冷落枚舉FOOBAR
返回false?
Question 5
:
假設回答問題4是真實的,那麼如果明天怎樣枚舉包含100多個項目?如何擴展這樣的測試?
附註:'return x> 10? true:false;'可以簡化爲'return x> 10;' – Keppil