Annotation Interface EnabledIfRuntimeHintsAgent


@Target({TYPE,METHOD}) @Retention(RUNTIME) @Documented @EnabledIf(value="org.springframework.aot.agent.RuntimeHintsAgent#isLoaded", disabledReason="RuntimeHintsAgent is not loaded on the current JVM") @Tag("RuntimeHintsTests") public @interface EnabledIfRuntimeHintsAgent
@EnabledIfRuntimeHintsAgent signals that the annotated test class or test method is only enabled if the RuntimeHintsAgent is loaded on the current JVM.

This is meta-annotated with @Tag("RuntimeHintsTests") so that test suites can choose to target or ignore those tests.

@EnabledIfRuntimeHintsAgent
class MyTestCases {

    @Test
    void hintsForMethodsReflectionShouldMatch() {
        RuntimeHints hints = new RuntimeHints();
        hints.reflection().registerType(String.class,
            hint -> hint.withMembers(MemberCategory.INTROSPECT_PUBLIC_METHODS));

        RuntimeHintsInvocations invocations = RuntimeHintsRecorder.record(() -> {
            Method[] methods = String.class.getMethods();
        });
        assertThat(invocations).match(hints);
    }

}
Since:
6.0
Author:
Brian Clozel, Sam Brannen