コマンドラインやantから実行する。 †今までEclipseでやってたんでmainメソッドを書いてなかったんですが、antやコマンドラインからやる場合、mainメソッドを作る必要があります。
でOKですね。 パッケージ内のすべてのテストクラスを実行する。 †テスト対象のクラスが増えてくると、それとともにテストクラスが増えてくるわけですが、そのテストクラス群をすべて実行する方法です。まずパッケージ内のすべてのテストクラスを実行するには、AllTests?などというクラスを同パッケージ内に作成し、 public static Test suite() というメソッドを実装します。このメソッド内で、TestSuite?クラスのインスタンスを作成し、テストクラスを追加すればよいのです。具体的には public static Test suite() { TestSuite suite = new TestSuite("Test for Package"); suite.addTest(new TestSuite(HogeTest.class)); suite.addTest(new TestSuite(FugaTest.class)); return suite; } とすると、HogeTest?、FugaTest?というテストクラスを一連で実行することができます。 パッケージ内のあるテストクラスのあるテストメソッドだけを実行する。 †上のやり方はテストクラスの全メソッドを実行してしまいますが、あるメソッドだけ再テストしたい場合もあると思います。その場合は new TestSuite?のところをテストクラスにして、Stringに変えればよいのです。文字列(下例ではtestMethodName?)にはメソッド名を指定します。 public static Test suite() { TestSuite suite = new TestSuite("Test for Package"); // suite.addTest(new TestSuite(HogeTest.class)); suite.addTest(new HogeTest("testMethodName")); return suite; } こうするとHogeTest?というテストクラスのtestMethodName?というテストメソッドだけが実行されます。 すべてのテストクラスを実行する。 †パッケージ内のすべてのテストクラスを実行するAllTests?を作成できたので、サブパッケージを実行するAllTests?クラスをrecursiveに作成すればすべてのテストクラスを実行することができます。 public static Test suite() { TestSuite suite = new TestSuite("Test for All Package"); suite.addTest(hoge.AllTests.suite()); suite.addTest(fuga.AllTests.suite()); return suite; } こうすると、hogeパッケージ内のすべてのテストクラス*1とfugaパッケージ内のすべてのテストクラス*2が実行されます。 この記事は 現在のアクセス:14688 |