在下面的方法中,我需要处理是否传入null,但我不确定如何。我该如何处理这个方法,这个方法将通过JUnit测试?
public Album(String name) {
if(name==null){
// what do I do here?
}
this.name = name;
this.images = new ArrayList<Image>();
}
在这种方法中,如果传入的索引是负数还是大于它所来自的数组列表的大小,我该如何处理呢?
public Image getImage(int index) {
if (index < 0 || index > images.size()) {
// how to handle here?
}
return images.get(index);
}
我已经为两者尝试过各种各样的东西,但这些方法仍然无法进行JUnit测试。感谢您提供给我的任何意见。
答案 0 :(得分:0)
if(name==null){
throw new IllegalArgumentException("name");
}
虽然我个人认为直接投掷NullPointerException
没有任何问题。
if (index < 0 || index > images.size()) {
throw new ArrayIndexOutOfBounds(index);
}
但你知道吗? images.get(index)
也会抛出它,所以不要先打扰它。减少阅读和测试的代码。事实上你已经犯了一个错误。您的前提条件是index
等于images.size()
。应该有index >= images.size()
。