Index: [Article Count Order] [Thread]

Date:  Sun, 10 Sep 2000 01:01:35 +0900
From:  Kaoru Hosokawa <khosokawa@....com>
Subject:  [XP-jp:00859] VXP Exception Test Style Was:Re: Member,	MemberList, MemberAuthorization
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <B5E039D4.3578%khosokawa@....com>
In-Reply-To:  <20000905090646omura@....jp>
Posted:  Sun, 10 Sep 2000 00:59:19 +0900
X-Mail-Count: 00859

ホソカワです。コメントありがとうございます。

on 2000/09/05 9:07 AM, omura@....jp at
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かなにかに書いてありました。
> 

この方がきれいですね。コードを変更します。(CVSにもう上がっているのかな?)

それから、「例外をテストするコード」に、このスタイルをVXPで使わせて頂きます。

    try {
        anObject.aMethod();
        fail("aMethod did not throw Exception");
    } catch (Exception e) {
        assert(true);
    }

[XP-jp:00819]で、「assert(true) は必要ない。」と書かれていますが、
[XP-jp:00823]と[XP-jp:00824]で書かれている様に、私も「達成感」が大事だとおも
いますので、assert(true)は、書く事にします。また、明示的に記述する事によって、
コードも読みやすいように思います。

-- 
Kaoru Hosokawa
khosokawa@....com