テスト スイートを手動で作成せずに、複数のパッケージに対して同時に JUnit テストを実行することは可能ですか。
たとえば、次のような階層があるとします。
code.branchone
code.branchone.aaa
code.branchone.bbb
code.branchtwo
code.branchtwo.aaa
code.branchtwo.bbb
以下のことは可能ですか?
- code.branchone と子孫パッケージ内のすべてのテストを実行します。
- code.branchone.aaa と code.branchtwo.bbb にあるすべてのテストを実行します。
テスト スイートを手動で作成する場合の問題は、新しいテストが追加されたときに、それを追加し忘れる可能性があることです。
ベストアンサー1
はい、可能です。少なくとも私にとって最も簡単な方法は、テスト スイート クラスを追加することです。次のようになります。
package tests;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
import tests.message.ATest;
import tests.validator.BTest;
import tests.validator.CTest;
import tests.validator.DTest;
@RunWith(Suite.class)
@SuiteClasses({ ATest.class,
BTest.class,
CTest.class,
DTest.class })
public class AllTests {
}
これにより、どのパッケージに含まれているかに関係なく、インポートしたクラスをテストできます。Eclipse でこれを実行するには、AllTests クラスを右クリックし、JUnit テストとして実行するだけです。その後、で定義したすべてのテストが実行されます@SuiteClasses
。
これはリンクされたソースでも機能するので、私はいつもこれを使用しています。