AntでJUnit4のテストを実行する
Ant 1.6.5 で JUnit4 用のテストケースを実行しようとすると no test found とかいわれる。これは Ant 1.6.5 の TestRunner が JUnit4 に対応していないからなのだが、そういうときは suite() メソッドで JUnit4TestAdapter でラップした Test を返すといいらしい。
こんなかんじ。
import org.junit.Before; import org.junit.After; import org.junit.Test; import static org.junit.Assert.*; public class FooTest { public static junit.framework.Test suite() { return new JUnit4TestAdapter(FooTest.class); } @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { } @Test public void testBar() throws Exception { // do something } }
まぁ、Ant というより JUnit4 に対応していない各種 IDE とかビルドツールでも同様だろう。そのうちツールの方で対応するだろうけど、それまでの次善策ということで。