Introduce EnableTestScopedConstructorContext annotation for extensions by JojOatXGME · Pull Request #4032 · junit-team/junit-framework (original) (raw)

Overview

Resolve #1568.
Resolve #2970.
Resolve #3445.

This PR moves the instance creation into the execution context of the test method. This affects the following callbacks:

Assuming the test is using TestInstance.Lifecycle.PER_METHOD (the default), these callbacks will now receive the ExtensionContext for the currently executed test method. This has the following effects:

If the test is using TestInstance.Lifecycle.PER_CLASS, the behavior is unaltered.

Not sure if the change is considered API breaking. The previous behavior was rather unintuitive and not explicitly documented. However, the example at TestInfoDemo is no-longer valid and has been changed as part of the PR. I also think there is a good chance that there are a few extensions in the wild which rely on the previous behavior, since the behavior was in place for multiple years. I would therefore like to know how I should proceed with the PR.


I hereby agree to the terms of the JUnit Contributor License Agreement.


Definition of Done