[
https://issues.apache.org/jira/browse/SLING-12278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stefan Seifert updated SLING-12278:
-----------------------------------
Component/s: Testing
Affects Version/s: Testing Sling Mock 3.5.0
Testing OSGi Mock 3.4.2
the way the current junit 5 implemention is done in sling-mock, osgi-mock and
aem-mock dates back to the time of JUnit 5.0 ([PR
#5|[https://github.com/wcm-io/wcm-io-testing/pull/5]),] and i've never
investigated much further if this is nowadays still the best way to do an junit
5 extension. it seems the programmatic extension registration was introduced in
junit 5.1.
i currently cannot oversee how much benefit a switch or additional support of
programmatic extension registration would bring - in any case it would be a lot
of work to make sure it all works as expected, and we cannot remove the current
way to register it for backwards compatibility.
so for now, i will only extend the documentation to make sure context objects
are not created e.g. in BeforeEach/BeforeAll methods.
> Improve handling of late instantiated context in
> SlingContextExtension/OsgiContextExtension
> -------------------------------------------------------------------------------------------
>
> Key: SLING-12278
> URL: https://issues.apache.org/jira/browse/SLING-12278
> Project: Sling
> Issue Type: Improvement
> Components: Testing
> Affects Versions: Testing OSGi Mock 3.4.2, Testing Sling Mock 3.5.0
> Reporter: Konrad Windszus
> Priority: Major
>
> Currently neither in
> https://sling.apache.org/documentation/development/osgi-mock.html#junit-5-osgi-context-junit-extension
> nor in
> https://sling.apache.org/documentation/development/sling-mock.html#junit-5-sling-context-junit-extension
> it is mentioned that the context must not be instantiated in {{@BeforeAll}}
> or {{@BeforeEach}} as at that point in time the extension has already
> instantiated another context. Those two contexts may lead to subtle issues
> (for example if resources are only added in the second context). For a
> concrete example look at
> https://github.com/wcm-io/io.wcm.testing.aem-mock/issues/37.
> In the best case the JUnit5 extension never creates a context (but only uses
> the existing instance) or at least creation should be deferred until the
> Before methods have been executed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)