Package: groovy.junit6.plugin

## [Groovy] Annotation Type GroovyEnabledIf

- groovy.junit6.plugin.GroovyEnabledIf

- All Implemented Interfaces and Traits:
    Annotation

      @Documented
      @Incubating
      @Retention(value=RetentionPolicy.RUNTIME)
      @Target(value=[ElementType.TYPE, ElementType.METHOD])
      @ExtendWith(value=GroovyConditionExtension)
      @interface GroovyEnabledIf

  Enables the annotated test class or method if the Groovy closure evaluates to `true`.

  The closure is evaluated with a delegate providing the following bindings:

  - `systemEnvironment` — `System.getenv()`
  - `systemProperties` — `System.getProperties()`
  - `javaVersion` — Runtime Java feature version (e.g. 17, 21)
  - `junitTags` — tags assigned to the test
  - `junitDisplayName` — display name of the test
  - `junitUniqueId` — unique ID of the test

  Example usage:

       @Test
       @GroovyEnabledIf({ javaVersion >= 21 })
       void needsVirtualThreads() { ... }

       @Test
       @GroovyEnabledIf({ systemEnvironment['CI'] == 'true' })
       void onlyOnCI() { ... }

  Since:
    6.0.0
  See Also:
    GroovyDisabledIf

- - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `abstract String` | `reason()`
    `` | `abstract Class` | `value()`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### abstract String reason()

    - #### abstract Class value()