クラス SpringClassRule

java.lang.ObjectSE
org.springframework.test.context.junit4.rules.SpringClassRule
実装されたすべてのインターフェース:
TestRule

public class SpringClassRule extends ObjectSE implements TestRule
SpringClassRule は、カスタム JUnit TestRule であり、TestContextManager および関連するサポートクラスとアノテーションを使用して、標準の JUnit テストで Spring TestContext フレームワークの クラスレベルの機能をサポートします。

SpringJUnit4ClassRunner とは対照的に、Spring のルールベースの JUnit サポートには、Runner から独立しているため、JUnit の Parameterized などの既存の代替ランナーや MockitoJUnitRunner などのサードパーティランナーと組み合わせることができるという利点があります。

ただし、SpringClassRule は SpringJUnit4ClassRunner のクラスレベルの機能しかサポートしていないため、SpringJUnit4ClassRunner と同じ機能を実現するには、SpringClassRule を SpringMethodRule と組み合わせる必要があります。

使用例

 public class ExampleSpringIntegrationTest {

    @ClassRule
    public static final SpringClassRule springClassRule = new SpringClassRule();

    @Rule
    public final SpringMethodRule springMethodRule = new SpringMethodRule();

    // ...
 }

以下のリストは、現在 SpringClassRule によって直接または間接的にサポートされているすべてのアノテーションを構成しています。(追加のアノテーションは、さまざまな TestExecutionListener または TestContextBootstrapper 実装によってサポートされる場合があることに注意してください)

注意 : このクラスには、JUnit 4.12 以上が必要です。

導入:
4.2
作成者:
Sam Brannen, Philippe Marschall
関連事項:
  • コンストラクターの詳細

    • SpringClassRule

      public SpringClassRule()
  • メソッドの詳細

    • apply

      public Statement apply(Statement base, Description description)
      提供されている base ステートメントに Spring TestContext フレームワークの クラスレベルの機能を適用します。

      具体的には、このメソッドは、このルールで使用される TestContextManager とそれに関連付けられた SpringMethodRule を取得し、TestContextManagerbeforeTestClass() および afterTestClass() メソッドを呼び出します。

      さらに、このメソッドは、現在の実行環境でテストが有効になっているかどうかを確認します。これにより、一致しない @IfProfileValue アノテーションを持つクラスが完全に実行されなくなり、TestExecutionListeners の beforeTestClass() メソッドの実行がスキップされます。

      次で指定:
      インターフェース TestRuleapply 
      パラメーター:
      base - このルールを適用する必要があるベース Statement 
      description - 現在のテスト実行の Description 
      戻り値:
      提供された base を Spring TestContext フレームワークのクラスレベル機能でラップするステートメント
      関連事項:
      • getTestContextManager(java.lang.Class<?>)
      • withBeforeTestClassCallbacks(org.junit.runners.model.Statement, org.springframework.test.context.TestContextManager)
      • withAfterTestClassCallbacks(org.junit.runners.model.Statement, org.springframework.test.context.TestContextManager)
      • withProfileValueCheck(org.junit.runners.model.Statement, java.lang.Class<?>)
      • withTestContextManagerCacheEviction(org.junit.runners.model.Statement, java.lang.Class<?>)