Support meta-annotation attribute overrides in the TestContext framework [SPR-11038] #15666
Closed
7 of 15 tasks
Labels
Milestone
Dave Syer opened SPR-11038 and commented
Overview
#12483 is a nice start, but it didn't go far enough for me (I think).
Spring now supports overrides of "parent" annotation attributes (through its meta data representation utilities introduced in conjunction with #14814). The Spring TestContext Framework, however, is not yet taking advantage of this feature. So for instance you can annotate a custom annotation with
@ContextConfiguration
, but there's no way for the user of that annotation to provide their own context configuration locations (e.g.classes=...
).Deliverables
Support meta-annotation attribute overrides for the following annotations within the context of the TestContext framework.
@ContextConfiguration
@WebAppConfiguration
@ContextHierarchy
@ActiveProfiles
@DirtiesContext
@TestExecutionListeners
@IfProfileValue
@ProfileValueSourceConfiguration
@Transactional
@BeforeTransaction
@AfterTransaction
@TransactionConfiguration
@Rollback
@Repeat
@Timed
Notes
@Transactional
was already supported via SpringTransactionAnnotationParser.@BeforeTransaction
and@AfterTransaction
do not have attributes.@ContextHierarchy
,@WebAppConfiguration
,@Rollback
,@Repeat
, and@ProfileValueSourceConfiguration
only have single 'value' attributes which cannot be overridden via Spring's meta-annotation attribute support.@IfProfileValue
has 'values' and 'name' attributes, the typical usage scenario involves the 'value' attribute which is not supported for meta-annotation attribute overrides. Furthermore, 'name' and 'values' are so generic that it is deemed unfeasible to provide meta-annotation attribute override support for these.Affects: 4.0 RC1
Issue Links:
Referenced from: commits 64f593d, c7c395d
The text was updated successfully, but these errors were encountered: