アノテーションインターフェース EnabledIfRuntimeHintsAgent


@TargetSE({TYPESE,METHODSE}) @RetentionSE(RUNTIMESE) @DocumentedSE @EnabledIf(value="org.springframework.aot.agent.RuntimeHintsAgent#isLoaded", disabledReason="RuntimeHintsAgent is not loaded on the current JVM") @Tag("RuntimeHintsTests") public @interface EnabledIfRuntimeHintsAgent
@EnabledIfRuntimeHintsAgent は、現在の JVM に RuntimeHintsAgent がロードされている場合にのみ、アノテーション付きのテストクラスまたはテストメソッドが有効になることを通知します。

これは @Tag("RuntimeHintsTests") でメタアノテーションが付けられているため、テストスイートはこれらのテストを対象にするか無視するかを選択できます。

@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);
    }

}
導入:
6.0
作成者:
Brian Clozel, Sam Brannen