Index: [Article Count Order] [Thread]

Date:  Tue, 5 Sep 2000 11:43:16 +0900
From:  tetsuya@....jp
Subject:  [XP-jp:00819] Re: Member, MemberList, MemberAuthorization
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <50158B900247D411B8120090CC01C0EC1E05A1@....jp>
Posted:  Tue, 5 Sep 2000 11:40:00 +0900 
X-Mail-Count: 00819

栗原です。

omura@....jp [mailto:omura@....jp] wrote:

> 大村です。

はじめまして。

> 1. MemberListTestクラスの中の次の部分
> 
> >    public void testEmptyGet() {
> >        boolean exceptionThrown = false;
> >        MemberList memberList = new MemberList();
> >        try {
> >            Member member = memberList.get(0);
> >        } catch (IndexOutOfBoundsException e) {
> >            exceptionThrown = true;
> >        }
> >        assert(exceptionThrown);
> >    }
> 
> ですが、例外があがるかどうかのテストについては
> 
> public void testEmptyGet() {
>      MemberList memberList = new MemberList();
>      try {
>          Member member = memberList.get(0);
>          fail( "IndexOutOfBoundsException が必要なところ" );
>      } catch ( e) {
>          assert( true );
>      }
>  }
> 
> のように書くとよいと、FAQかなにかに書いてありました。

JUnit の FAQ にありました。「How do I implement a test case for
a thrown exception?」という項目が。
assert(true); は特に必要なさそうですね。

> 2. 同じく MemberListTestクラスの中で、
> 
> >        Member firstMember = new Member("aaa@....ccc");
> >        Member secondMember = new Member("ddd@....fff");
> 
> はfixtureにしてしまうのがよいですよね。
> 実際の作業だと、同じテストデータを二度目に書くことになった時点で、それ
> をfixtureにしようと
> 考えるようにするといいのかなと思います。

このぐらいの初期化作業なら fixture にするまでもないかな、と思ってます。
テスト対象となるクラスの TestCase がいっぱいできるのもちょっと、、、
TestCase の書き方を考えなくちゃならなくなると、「楽しくテスト」ができ
ないのではないかと思います。

---
Tetsuya Kurihara
tetsuya@....jp