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 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 Details

    • 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:
      ""