Package net.jqwik.api

Annotation Type Provide


  • @Target({ANNOTATION_TYPE,METHOD})
    @Retention(RUNTIME)
    @Documented
    @API(status=STABLE,
         since="1.0")
    public @interface Provide
    Used to annotate methods that can provide values for property method parameters. Those methods must return an instance of Arbitrary.

    Methods annotated with Provide can be present:

    • In test container classes to be picked up by ForAll parameters.
    • In subclasses of DomainContextBase where those methods will be used to serve as arbitrary providers for a DomainContext.

    Those methods can have optional parameters of type TypeUsage or with annotation ForAll. The latter will be used to flatMap over them.

    See Also:
    ForAll, DomainContextBase, DomainContext
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      java.lang.Class<? extends java.lang.Throwable>[] ignoreExceptions
      Used to specify exception types that should be ignored during value generation.
      java.lang.String value
      Used as reference name.
    • Element Detail

      • value

        java.lang.String value
        Used as reference name. If it is not specified, the method's name is used instead.
        Returns:
        A non-empty string if the method should not be referenced by its name
        Default:
        ""
      • ignoreExceptions

        @API(status=EXPERIMENTAL,
             since="1.7.2")
        java.lang.Class<? extends java.lang.Throwable>[] ignoreExceptions
        Used to specify exception types that should be ignored during value generation.
        Returns:
        an array of exception types
        Default:
        {}