クラス AbstractApplicationContextRunner<SELF extends AbstractApplicationContextRunner<SELF,C,A>,C extends ConfigurableApplicationContext,A extends ApplicationContextAssertProvider<C>>

java.lang.ObjectSE
org.springframework.boot.test.context.runner.AbstractApplicationContextRunner<SELF,C,A>
型パラメーター:
SELF - このランナーの「自己」型
C - コンテキスト型
A - アプリケーションコンテキストアサーションプロバイダー
既知の直属サブクラス
ApplicationContextRunnerReactiveWebApplicationContextRunnerWebApplicationContextRunner

public abstract class AbstractApplicationContextRunner<SELF extends AbstractApplicationContextRunner<SELF,C,A>,C extends ConfigurableApplicationContext,A extends ApplicationContextAssertProvider<C>> extends ObjectSE
ApplicationContext を実行し、AssertJ スタイルのアサーションを提供するユーティリティ設計。テストは、テストに必要な共有構成を記述するテストクラスのフィールドとして最適に使用されます。
 public class MyContextTests {
     private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
             .withPropertyValues("spring.foo=bar")
             .withUserConfiguration(MyConfiguration.class);
 }

上記の初期化により、すべてのテストで MyConfiguration を登録し、特に指定のない限り、spring.foo プロパティを bar に設定します。

上記の設定に基づいて、特定のテストは、おそらくオーバーライドされたプロパティ値を使用して、コンテキストの実行時に何が起こるかをシミュレートできます。

 @Test
 public someTest() {
     this.contextRunner.withPropertyValues("spring.foo=biz").run((context) -> {
         assertThat(context).containsSingleBean(MyBean.class);
         // other assertions
     });
 }

上記のテストは、spring.foo プロパティを biz に変更し、コンテキストに単一の MyBean Bean が含まれることをアサートしています。run メソッドは、アサーションをコンテキストに適用できる ContextConsumer を取ります。完了すると、コンテキストは自動的に閉じられます。

アプリケーションコンテキストの起動に失敗すると、「失敗した」アプリケーションコンテキストで #run(ContextConsumer) メソッドが呼び出されます。コンテキストの呼び出しは IllegalStateExceptionSE をスローし、実行中のコンテキストを予期するアサーションは失敗します。失敗の原因でさらにチェックが必要な場合は、getFailure() アサーションを使用できます。

 @Test
 public someTest() {
     this.context.withPropertyValues("spring.foo=fails").run((loaded) -> {
         assertThat(loaded).getFailure().hasCauseInstanceOf(BadPropertyException.class);
         // other assertions
     });
 }

導入:
2.0.0
作成者:
Stephane Nicoll, Andy Wilkinson, Phillip Webb
関連事項:
  • コンストラクターの詳細

  • メソッドの詳細

    • withAllowBeanDefinitionOverriding

      public SELF withAllowBeanDefinitionOverriding(boolean allowBeanDefinitionOverriding)
      既存の定義と同じ名前で定義を登録することにより、Bean 定義のオーバーライドを許可するかどうかを指定します。
      パラメーター:
      allowBeanDefinitionOverriding - Bean オーバーライドが許可されている場合
      戻り値:
      更新された Bean 定義オーバーライドポリシーを持つ新しいインスタンス
      導入:
      2.3.0
      関連事項:
    • withAllowCircularReferences

      public SELF withAllowCircularReferences(boolean allowCircularReferences)
      Bean 間の循環参照を許可するかどうかを指定します。
      パラメーター:
      allowCircularReferences - Bean 間の循環参照が許可されている場合
      戻り値:
      循環参照ポリシーが更新された新しいインスタンス
      導入:
      2.6.0
      関連事項:
    • withInitializer

      public SELF withInitializer(ApplicationContextInitializer<? super C> initializer)
      コンテキストの作成時に呼び出される ApplicationContextInitializer を追加します。
      パラメーター:
      initializer - 追加する初期化子
      戻り値:
      更新された初期化子を持つ新しいインスタンス
    • withPropertyValues

      public SELF withPropertyValues(StringSE... pairs)
      指定された Environment プロパティペアを追加します。キーと値のペアは、コロン(":")または等号("=")区切り文字で指定できます。以前に指定された可能性のある一致するキーをオーバーライドします。
      パラメーター:
      pairs - 環境に追加する必要があるプロパティのキーと値のペア
      戻り値:
      更新されたプロパティ値を持つ新しいインスタンス
      関連事項:
    • withSystemProperties

      public SELF withSystemProperties(StringSE... pairs)
      指定された SystemSE プロパティペアを追加します。キーと値のペアは、コロン(":")または等号("=")区切り文字で指定できます。コンテキストが run になる前にシステムプロパティが追加され、コンテキストが閉じられると復元されます。
      パラメーター:
      pairs - システムに追加する必要があるプロパティのキーと値のペア
      戻り値:
      更新されたシステムプロパティを持つ新しいインスタンス
      関連事項:
    • withClassLoader

      public SELF withClassLoader(ClassLoaderSE classLoader)
      ApplicationContext がリソースのロードと Bean クラスのロードに使用する ClassLoaderSE をカスタマイズします。
      パラメーター:
      classLoader - 使用するクラスローダー (またはデフォルトを使用する場合は null )
      戻り値:
      更新されたクラスローダーを持つ新しいインスタンス
      関連事項:
    • withParent

      public SELF withParent(ApplicationContext parent)
      ApplicationContextparent を構成します。
      パラメーター:
      parent - 親
      戻り値:
      更新された親を持つ新しいインスタンス
    • withBean

      public <T> SELF withBean(ClassSE<T> type, ObjectSE... constructorArgs)
      指定されたユーザー Bean を ApplicationContext に登録します。Bean 名は、基礎となるコンテキストで構成された BeanNameGenerator から生成されます。

      このような Bean は、通常のユーザー構成の後に登録順に登録されます。

      型パラメーター:
      T - Bean の型
      パラメーター:
      type - Bean の型
      constructorArgs - Spring のコンストラクター解決アルゴリズムにフィードされるカスタム引数値。すべての引数または特定の引数のみを解決し、残りは通常のオートワイヤーによって解決されます (null または空の場合があります)
      戻り値:
      更新された Bean を持つ新しいインスタンス
    • withBean

      public <T> SELF withBean(StringSE name, ClassSE<T> type, ObjectSE... constructorArgs)
      指定されたユーザー Bean を ApplicationContext に登録します。

      このような Bean は、通常のユーザー構成の後に登録順に登録されます。

      型パラメーター:
      T - Bean の型
      パラメーター:
      name - Bean 名または生成された名前を使用する null 
      type - Bean の型
      constructorArgs - Spring のコンストラクター解決アルゴリズムにフィードされるカスタム引数値。すべての引数または特定の引数のみを解決し、残りは通常のオートワイヤーによって解決されます (null または空の場合があります)
      戻り値:
      更新された Bean を持つ新しいインスタンス
    • withBean

      public <T> SELF withBean(ClassSE<T> type, SupplierSE<T> supplier, BeanDefinitionCustomizer... customizers)
      指定されたユーザー Bean を ApplicationContext に登録します。Bean 名は、基礎となるコンテキストで構成された BeanNameGenerator から生成されます。

      このような Bean は、通常のユーザー構成の後に登録順に登録されます。

      型パラメーター:
      T - Bean の型
      パラメーター:
      type - Bean の型
      supplier - Bean のサプライヤー
      customizers - ファクトリの BeanDefinition をカスタマイズするための 1 つ以上のコールバック。lazy-init またはプライマリフラグの設定
      戻り値:
      更新された Bean を持つ新しいインスタンス
    • withBean

      public <T> SELF withBean(StringSE name, ClassSE<T> type, SupplierSE<T> supplier, BeanDefinitionCustomizer... customizers)
      指定されたユーザー Bean を ApplicationContext に登録します。Bean 名は、基礎となるコンテキストで構成された BeanNameGenerator から生成されます。

      このような Bean は、通常のユーザー構成の後に登録順に登録されます。

      型パラメーター:
      T - Bean の型
      パラメーター:
      name - Bean 名または生成された名前を使用する null 
      type - Bean の型
      supplier - Bean のサプライヤー
      customizers - ファクトリの BeanDefinition をカスタマイズするための 1 つ以上のコールバック。lazy-init またはプライマリフラグの設定
      戻り値:
      更新された Bean を持つ新しいインスタンス
    • withUserConfiguration

      public SELF withUserConfiguration(ClassSE<?>... configurationClasses)
      指定されたユーザー構成クラスを ApplicationContext に登録します。
      パラメーター:
      configurationClasses - 追加するユーザー構成クラス
      戻り値:
      更新された構成を持つ新しいインスタンス
    • withConfiguration

      public SELF withConfiguration(Configurations configurations)
      指定された構成クラスを ApplicationContext に登録します。
      パラメーター:
      configurations - 追加する構成
      戻り値:
      更新された構成を持つ新しいインスタンス
    • with

      public SELF with(FunctionSE<SELF,SELF> customizer)
      このランナーにカスタマイズを適用します。
      パラメーター:
      customizer - 呼び出すカスタマイザ
      戻り値:
      カスタマイズが適用された新しいインスタンス
    • run

      public SELF run(ContextConsumer<? super A> consumer)
      このローダーの現在の状態に基づいて、新しい ApplicationContext を作成およびリフレッシュします。コンテキストは、指定された consumer によって消費され、完了時に閉じられます。
      パラメーター:
      consumer - 作成された ApplicationContext のコンシューマー
      戻り値:
      このインスタンス
    • prepare

      public SELF prepare(ContextConsumer<? super A> consumer)
      このローダーの現在の状態に基づいて、新しい ApplicationContext を準備します。コンテキストは、指定された consumer によって消費され、完了時に閉じられます。run(ContextConsumer) とは異なり、このメソッドは消費されたコンテキストをリフレッシュしません。
      パラメーター:
      consumer - 作成された ApplicationContext のコンシューマー
      戻り値:
      このインスタンス
      導入:
      3.0.0