fix #944: provide the resolved parameters in the ExtensionContext
Overview
As (almost) suggested in #944, I've added a method ExtensionContext#getResolvedParameters (and getRequiredResolvedParameters) and an interface ResolvedParameters. The AbstractExtensionContext can store and return those. The ParameterResolutionUtils store them, but I had to introduce another but internal interface ResolvedParametersStore to make this possible without hurting the visibility scopes between descriptor and execution.
The problem I ran into is that TestMethodTestDescriptor#execute calls the parameter resolvers after all BeforeEach callbacks and methods. So they can't see them, but that was the purpose of it all.
I'm not sure, if this ordering could be inverted: first the parameter resolvers, then the BeforeEach handling.
I hereby agree to the terms of the JUnit Contributor License Agreement.
Definition of Done
- [ ] There are no TODOs left in the code
- [ ] Method preconditions are checked and documented in the method's Javadoc
- [ ] Coding conventions (e.g. for logging) have been followed
- [ ] Change is covered by automated tests including corner cases, errors, and exception handling
- [ ] Public API has Javadoc and
@APIannotations - [ ] Change is documented in the User Guide and Release Notes