-
@Retention(RUNTIME) @Target({METHOD,TYPE}) @Inherited @Repeatable(SetSystemProperties.class) @ExtendWith(SystemPropertyExtension.class) public @interface SetSystemProperty@SetSystemPropertyis a JUnit Jupiter extension to set the value of a system property for a test execution.The key and value of the system property to be set must be specified via
key()andvalue(). After the annotated method has been executed, the original value or the value of the higher-level container is restored.SetSystemPropertycan 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 set before every test inside that class. Any method-level configurations will override the class-level configurations.During parallel test execution, all tests annotated with
ClearSystemProperty,SetSystemProperty,ReadsSystemProperty, andWritesSystemPropertyare scheduled in a way that guarantees correctness under mutation of shared global state.For more details and examples, see the documentation on
@ClearSystemPropertyand@SetSystemProperty.- Since:
- 0.5