我有需要的ArrayList作爲參數的類:如何進行單元測試代碼,應引起編譯錯誤
public class Foo {
private ArrayList<Bar> bars;
public Foo(ArrayList barList) {
bars = barList;
}
}
有我可以通過任何的ArrayList到構造函數中的錯誤:
// should compile error with this line
Foo foo = new Foo(new ArrayList<String>());
問題是如果我將這個案例添加到測試套件中,當錯誤修復時,我無法編譯它。 有無論如何測試這種情況?
爲錯誤添加單元測試以防止它們重新進行備份總是一個好主意。正如你似乎瞭解你自己,單元測試不應該檢查語法錯誤,所以我不會建議測試「類型正確性」或任何類型的東西。這就是爲什麼有一個編譯器。這個bug在生產中有一些不希望的效果。如何編寫一個更大規模的測試來揭示這個bug的症狀? – prgmtc