52

テスト スイートを手動で作成せずに、同時に複数のパッケージに対して JUnit テストを実行することは可能ですか。

たとえば、階層がある場合:

code.branchone
code.branchone.aaa
code.branchone.bbb
code.branchtwo
code.branchtwo.aaa
code.branchtwo.bbb

次のことは可能ですか。

  1. code.branchone と下位パッケージのすべてのテストを実行します
  2. たとえば、code.branchone.aaa と code.branchtwo.bbb ですべてのテストを実行します。

テスト スイートを手動で作成する際の問題点は、新しいテストが追加されたときに、それらを追加するのを忘れる可能性があることです。

4

7 に答える 7

28

はい、可能です。少なくとも私にとって最も簡単な方法は、テスト スイート クラスを追加することです。次のようになります。

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

これはリンクされたソースでも機能します。私はいつもそれを使用しています。

于 2013-02-17T16:12:31.440 に答える
24

別の方法:

下の図の赤い四角形で示される黒い三角形をクリックします (Eclipse では、ここではありません :))。

ここに画像の説明を入力

次に、実行構成を開き、新しい構成を作成してから、下の画像に例示されているように「すべてのテストを実行...」を設定します。

ここに画像の説明を入力

于 2012-11-22T20:22:28.903 に答える
3

私はあなたがこれを少し微調整できると確信しています。CLASSES_DIRプロパティのコレクションを作成し、findClassesメソッドでループします。(junit4)

http://burtbeckwith.com/blog/?p=52

于 2009-01-05T14:51:08.287 に答える
1

すべてのテスト パッケージを 1 つのディレクトリに追加できると思います。このディレクトリを右クリックすると、「run as -> JUnit test」オプションが利用可能になるはずです。これにより、ディレクトリに含まれるすべてのテストが実行され、追加したものはすべてキャッチされます。新しいテストは残りのテストと一緒にそこに配置され、パッケージ名は関係ありません。それが役立つことを願っています

于 2009-01-05T14:35:54.183 に答える
1

もちろん、必要なパッケージを右クリックして、Run As... JUnit Test を選択します。

于 2009-01-05T14:36:18.207 に答える
1

Eclipse では、デバッグ/実行構成で次のオプションがあります。

  1. 単一のテストを実行する
  2. 選択したプロジェクト、パッケージ、またはソース フォルダー内のすべてのテストを実行します

この場合、2番目のオプションはあなたの友達だと思います。

于 2009-01-05T14:38:15.223 に答える