栗原です。
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