Annotation Interface TestConstructor
@TestConstructor is a type-level annotation that is used to configure
how the parameters of a test class constructor are autowired from components
in the test's ApplicationContext.
If @TestConstructor is not present or meta-present
on a test class, the default test constructor autowire mode will be
used. See TEST_CONSTRUCTOR_AUTOWIRE_MODE_PROPERTY_NAME for details on
how to change the default mode. Note, however, that a local declaration of
@Autowired
@jakarta.inject.Inject, or
@javax.inject.Inject on a constructor takes
precedence over both @TestConstructor and the default mode.
This annotation may be used as a meta-annotation to create custom composed annotations.
this annotation is only supported in conjunction
with the ApplicationExtension for use with JUnit Jupiter. Note that the ApplicationExtension is
often automatically registered for you — for example, when using annotations such as
@ApplicationJUnitConfig and
@ApplicationJUnitWebConfig
or various test-related annotations from Infra Test.
this annotation will be inherited from an
enclosing test class by default. See
@NestedTestConfiguration for details.
- 从以下版本开始:
- 4.0
- 作者:
- Sam Brannen, Harry Yang
- 另请参阅:
-
嵌套类概要
嵌套类修饰符和类型类说明static enumDefines autowiring modes for parameters in a test constructor. -
必需元素概要
所需元素 -
字段概要
字段修饰符和类型字段说明static final StringJVM system property used to change the default test constructor autowire mode: "infra.test.constructor.autowire.mode".
-
字段详细资料
-
TEST_CONSTRUCTOR_AUTOWIRE_MODE_PROPERTY_NAME
JVM system property used to change the default test constructor autowire mode: "infra.test.constructor.autowire.mode".Acceptable values include enum constants defined in
TestConstructor.AutowireMode, ignoring case. For example, the default may be changed toTestConstructor.AutowireMode.ALLby supplying the following JVM system property via the command line.-Dinfra.test.constructor.autowire.mode=all
If the property is not set to
ALL, parameters for test class constructors will be autowired according toTestConstructor.AutowireMode.ANNOTATEDsemantics by default.May alternatively be configured via the
TodayStrategiesmechanism.this property may also be configured as a JUnit Platform configuration parameter.
- 另请参阅:
-
-
元素详细资料
-
autowireMode
TestConstructor.AutowireMode autowireModeFlag for setting the test constructor autowire mode for the current test class.Setting this flag overrides the global default. See
TEST_CONSTRUCTOR_AUTOWIRE_MODE_PROPERTY_NAMEfor details on how to change the global default.- 返回:
- an
TestConstructor.AutowireModeto take precedence over the global default - 另请参阅:
-
TEST_CONSTRUCTOR_AUTOWIRE_MODE_PROPERTY_NAME@Autowired@jakarta.inject.Inject@javax.inject.InjectTestConstructor.AutowireMode.ALLTestConstructor.AutowireMode.ANNOTATED
-