JUnit 4テストスイート


98

JUnit 4でテストスイートを作成するにはどうすればよいですか?

私が見たすべてのドキュメントは私のために働いているようではありません。また、Eclipseウィザードを使用すると、作成したテストクラスを選択するオプションが表示されません。


4
Eclipse 3.7 Indigoでは、テストスイートウィザードがJUnit 4をサポートするようになりました
Fabian Steeg

回答:


147
import org.junit.runners.Suite;
import org.junit.runner.RunWith;

@RunWith(Suite.class)
@Suite.SuiteClasses({TestClass1.class, TestClass2.class})
public class TestSuite {
  //nothing
}

61

そのようなスイートを作成できます。たとえば、AllTestスイートは次のようになります。

package my.package.tests;

@RunWith(Suite.class)
@SuiteClasses({
    testMyService.class,
    testMyBackend.class,
    ...
})

public class AllTests {}

これで、いくつかの異なる方法でこれを実行できます。

  1. 右クリックしてEclipseでJunitテストとして実行
  2. 実行可能なJavaアプリケーションを作成します。メインクラス = 'org.junit.runner.JUnitCore'とのArgs = 'my.package.tests.AllTests'
  3. コマンドラインから実行します:

    $ java -cp build/classes/:/usr/share/java/junit4.jar:/usr/share/java/hamcrest-core.jar org.junit.runner.JUnitCore my.package.tests.AllTests

CMDLineにさらに投票を追加する予定です:)
Gruber

9

TestSuiteは支持を失っていると思います。それは4.x以前のスタイルだったかもしれませんが、今のところ私の知る限りではありません。

必要なテストに注釈を付けて、クラスを実行するだけです。すべての注釈付きテストが実行されます。Antを使用することもありますが、ほとんどの場合、IntelliJでAntを実行してくれます。


11
私は間違っている可能性がありますが、テストの順序を指定する必要がある場合、特により小さなシナリオのテストがより複雑なシナリオの前に行われる自動統合テストでは、TestSuiteは依然として優れていると思います。
bertie

@duffymo私はこれまで、テストケースをテスト
スイートに

6
より多くのテスト、さまざまな機能領域/モジュール、「コア」と補助/低速/高価な非コアテストの区別がある場合、これらの理由のいずれかにより、テストをTestSuiteに構造化します。
トーマスW

1
@SuiteClassアノテーションは複数のクラスで使用でき、スイートをスイート内にネストできます。3.xでそれらを編成するための考え方は、まだ完全に有効です(そして使用する必要があります)。以前とまったく同じ方法ですべてを構成できます。の代わりにアノテーション構文を使用するだけですTestSuite.suite()TestSuiteアノテーションよりも実際に使用してもメリットはなく、組織的に同等のアノテーションを使用すれば、JUnit 4のすべての拡張機能を利用できます。
Thunderforge

3

EclipseでJUnitスイートを作成する手順は次のとおりです。

  1. Eclipseの「Java」パースペクティブの「パッケージエクスプローラー」ビューで、Eclipse Javaプロジェクト内のパッケージ内の単体テストを選択します。
  2. 選択したテストのいずれかを右クリックします。
  3. ポップアップメニューで、[新規]、[その他]を選択します。
  4. 「Java」フォルダを開き、次に「JUnit」フォルダを開きます
  5. 「JUnit Test Suite」を選択し、「次へ」ボタンを選択します
  6. 「完了」ボタンを選択します
  7. 結果:「AllTests.java」スイートファイルが作成され、テストが自動的に含まれます
  8. 日食の実行ボタンを選択します
  9. 結果:スイート実行でのすべてのテスト
  10. これで、ANT、Jenkins、またはその他のビルド構成継続的統合ツールでこのスイートファイルを指定できます。

バージョン情報:これはEclipse NeonおよびJUnit 4用です。手順6で[完了]を選択する前にJUnit 3を選択することもできます。


ANTからこのテストスイートを実行する方法を示すbuild.xmlファイルを投稿できますか?
LiborStefek

1

私の頭の上でTestSuiteと呼び出しaddTestsを作成します。somesourceを調べたい場合は、hibernateまたはapacheの何かなどのオープンソースlibを試して、Testsスイートのソースのtestディレクトリの下を見てください...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.