0

在以下方法中,我需要处理是否传入了 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 测试。谢谢你能给我的任何意见。

4

1 回答 1

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()

于 2012-11-02T20:39:51.790 回答