Interface AotTestAttributes


public interface AotTestAttributes
Holder for metadata specific to ahead-of-time (AOT) support in the Spring TestContext Framework.

AOT test attributes are supported in two modes of operation: build-time and run-time. At build time, test components can contribute attributes during the AOT processing phase. At run time, test components can retrieve attributes that were contributed at build time. If AotDetector.useGeneratedArtifacts() returns true, run-time mode applies.

For example, if a test component computes something at build time that cannot be computed at run time, the result of the build-time computation can be stored as an AOT attribute and retrieved at run time without repeating the computation.

An AotContextLoader would typically contribute an attribute in loadContextForAotProcessing(); whereas, an AotTestExecutionListener would typically contribute an attribute in processAheadOfTime(). Any other test component — such as a TestContextBootstrapper — can choose to contribute an attribute at any point in time. Note that contributing an attribute during standard JVM test execution will not have any adverse side effect since AOT attributes will be ignored in that scenario. In any case, you should use AotDetector.useGeneratedArtifacts() to determine if invocations of setAttribute(String, String) and removeAttribute(String) are permitted.

Since:
6.0
Author:
Sam Brannen
  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
    Retrieve the attribute value for the given name as a boolean.
    Get the current instance of AotTestAttributes to use.
    Retrieve the attribute value for the given name as a String.
    void
    Remove the attribute stored under the provided name.
    default void
    setAttribute(String name, boolean value)
    Set a boolean attribute for later retrieval during AOT run-time execution.
    void
    setAttribute(String name, String value)
    Set a String attribute for later retrieval during AOT run-time execution.