Package spock.lang

Annotation Type PendingFeature


  • @Beta
    @Retention(RUNTIME)
    @Target(METHOD)
    public @interface PendingFeature
    Indicates that the feature is not fully implemented yet and should not be reported as error.

    The use case is to annotate tests that can not yet run but should already be committed. The main difference to Ignore is that the test are executed, but test failures are ignored. If the test passes without an error, then it will be reported as failure since the PendingFeature annotation should be removed. This way the tests will become part of the normal tests instead of being ignored forever.

    Groovy has the groovy.transform.NotYetImplemented annotation which is similar but behaves a differently.

    • it will mark failing tests as passed
    • if at least one iteration of a data-driven test passes it will be reported as error
    PendingFeature:
    • it will mark failing tests as skipped
    • if at least one iteration of a data-driven test fails it will be reported as skipped
    • if every iteration of a data-driven test passes it will be reported as error

    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      Class<? extends Throwable>[] exceptions
      Configures which types of Exceptions are expected in the pending feature.
      String reason
      The reason why this feature is pending
    • Element Detail

      • exceptions

        Class<? extends Throwable>[] exceptions
        Configures which types of Exceptions are expected in the pending feature. Subclasses are included if their parent class is listed.
        Returns:
        array of Exception classes to ignore.
        Default:
        {java.lang.Exception.class}
      • reason

        String reason
        The reason why this feature is pending
        Returns:
        reason why this feature is pending
        Default:
        ""