これ僕.com:行動分析学マニアがおくる行動戦略

意図と行動のギャップから生じる「不自由さ」への挑戦。果たして僕たちに自由はあるのか?

JUnit4とEclipse

樂水開発日記さん経由、JUnit4 in 10 minutesでJUnit4をEclipseで使えることを知りました。で、早速やってみることに。こちらで記述したテストコードに以下のコードを追加。

    public static junit.framework.Test suite() {
        return new JUnit4TestAdapter(HogeTest.class);
    }

実行するとこんな感じ。@Ignoreしてるテストはリストアップされるけど実行されてない、って感じに表示されるんですね。

一手間増えるのはいやだけど、TestCaseを継承しないのはいいな〜。いま思いついたけど、TestCaseを継承しないですむなら、クラスの中にテストを書いてしまってはどうなんだろう。クラスのソースをみると、そのクラスの使い方と仕様がテストクラスで書いてある、みたいな。IDEの折りたたみ機能(?)とか使えば、普段は目立たないようにしておけるし。

public class Hoge {

    public int add(int i, int j) {
        return i + j;
    }
    
    @Test
    public void 加算の仕様() {
        assertEquals(2, add(1, 1));
        assertEquals(0, add(0, 0));
        assertEquals(1, add(2, -1));
    }
    
    public static junit.framework.Test suite() {
        return new JUnit4TestAdapter(Hoge.class);
    }

}

どうかなぁ?うーん・・・。