Annotation Type ClearEnvironmentVariable
@ClearEnvironmentVariable is a JUnit Jupiter extension to clear the value
of an environment variable for a test execution.
The key of the environment variable to be cleared must be specified via key().
After the annotated element has been executed, the original value or the value of the
higher-level container is restored.
ClearEnvironmentVariable can be used on the method and on the class level.
It is repeatable and inherited from higher-level containers. If a class is
annotated, the configured property will be cleared before every test inside that
class.
WARNING: Java considers environment variables to be immutable, so this extension
uses reflection to change them. This requires that the SecurityManager
allows modifications and can potentially break on different operating systems and
Java versions. Be aware that this is a fragile solution and consider finding a
better one for your specific situation. If you're running on Java 9 or later and
are encountering warnings or errors, check
the documentation.
During
parallel test execution,
all tests annotated with ClearEnvironmentVariable, SetEnvironmentVariable, ReadsEnvironmentVariable, and WritesEnvironmentVariable
are executed sequentially to guarantee correctness under mutation of shared global state.
For more details and examples, see
the documentation on @ClearEnvironmentVariable and @SetEnvironmentVariable.
- Since:
- 0.6
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic @interfaceContaining annotation of repeatable@ClearEnvironmentVariable. -
Required Element Summary
Required Elements
-
Element Details
-
key
String keyThe key of the environment variable to be cleared.
-