樂水開発日記さん経由、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); } }
どうかなぁ?うーん・・・。