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 に答える