アノテーションインターフェース TestConstructor
@TestConstructor
は型レベルのアノテーションであり、テストのクラスコンストラクターのパラメーターがテストの ApplicationContext
のコンポーネントからオートワイヤーされる方法を構成するために使用されます。@TestConstructor
が存在しないか、テストクラスにメタに存在する場合は、デフォルトのテストコンストラクターのオートワイヤーモードが使用されます。デフォルトモードの変更方法の詳細については、"TEST_CONSTRUCTOR_AUTOWIRE_MODE_PROPERTY_NAME
" を参照してください。ただし、コンストラクターでの @Autowired
@jakarta.inject.Inject
、または @javax.inject.Inject
のローカル宣言は、@TestConstructor
およびデフォルトモードの両方より優先されることに注意してください。
このアノテーションは、カスタム構成アノテーションを作成するためのメタアノテーションとして使用することができます。
Spring Framework 5.2 では、このアノテーションは JUnit Jupiter で使用するために SpringExtension
と組み合わせてのみサポートされています。多くの場合、SpringExtension
は自動的に登録されることに注意してください。たとえば、@SpringJUnitConfig
や @SpringJUnitWebConfig
などのアノテーション、Spring Boot テストのさまざまなテスト関連のアノテーションを使用する場合です。
Spring Framework 5.3 以降、このアノテーションはデフォルトでそれを囲むテストクラスから継承されます。詳細については、@NestedTestConfiguration
を参照してください。
- 導入:
- 5.2
- 作成者:
- Sam Brannen
- 関連事項:
ネストされたクラスのサマリー
必須定数のサマリー
フィールドサマリー
修飾子と型フィールド説明static final StringSE
デフォルトのテストコンストラクターのオートワイヤーモードを変更するために使用される JVM システムプロパティ: "spring.test.constructor.autowire.mode"。
フィールドの詳細
TEST_CONSTRUCTOR_AUTOWIRE_MODE_PROPERTY_NAME
デフォルトのテストコンストラクターのオートワイヤーモードを変更するために使用される JVM システムプロパティ: "spring.test.constructor.autowire.mode"。許容値には、大文字と小文字を区別せずに、
TestConstructor.AutowireMode
で定義された列挙型定数が含まれます。例: コマンドラインから次の JVM システムプロパティを指定することにより、デフォルトをTestConstructor.AutowireMode.ALL
に変更できます。-Dspring.test.constructor.autowire.mode=all
プロパティが
ALL
に設定されていない場合、テストクラスコンストラクターのパラメーターは、デフォルトでTestConstructor.AutowireMode.ANNOTATED
セマンティクスに従ってオートワイヤーされます。あるいは、
SpringProperties
メカニズムを介して構成することもできます。Spring Framework 5.3 の時点で、このプロパティは JUnit プラットフォーム構成パラメーターとして構成することもできます。
- 関連事項:
要素の詳細
autowireMode
TestConstructor.AutowireMode autowireMode現在のテストクラスのテストコンストラクターのオートワイヤーモードを設定するためのフラグ。このフラグを設定すると、グローバルデフォルトが上書きされます。グローバルデフォルトを変更する方法の詳細については、
TEST_CONSTRUCTOR_AUTOWIRE_MODE_PROPERTY_NAME
を参照してください。- 戻り値:
- グローバルデフォルトよりも優先される
TestConstructor.AutowireMode
- 関連事項: