クラス SpringClassRule
- 実装されたすべてのインターフェース:
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
- 関連事項:
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明apply
(Statement base, Description description) 提供されているbase
ステートメントに Spring TestContext フレームワークの クラスレベルの機能を適用します。
コンストラクターの詳細
SpringClassRule
public SpringClassRule()
メソッドの詳細
apply
提供されているbase
ステートメントに Spring TestContext フレームワークの クラスレベルの機能を適用します。具体的には、このメソッドは、このルールで使用される
TestContextManager
とそれに関連付けられたSpringMethodRule
を取得し、TestContextManager
でbeforeTestClass()
およびafterTestClass()
メソッドを呼び出します。さらに、このメソッドは、現在の実行環境でテストが有効になっているかどうかを確認します。これにより、一致しない
@IfProfileValue
アノテーションを持つクラスが完全に実行されなくなり、TestExecutionListeners
のbeforeTestClass()
メソッドの実行がスキップされます。- 次で指定:
- インターフェース
TestRule
のapply
- パラメーター:
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<?>)