我有需要的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