Annotation Type DataPoints


  • @Retention(RUNTIME)
    @Target({FIELD,METHOD})
    public @interface DataPoints
    Annotating an array or iterable-typed field or method with @DataPoints will cause the values in the array or iterable given to be used as potential parameters for theories in that class when run with the Theories runner.

    DataPoints will only be considered as potential values for parameters for which their types are assignable. When multiple sets of DataPoints exist with overlapping types more control can be obtained by naming the DataPoints using the value of this annotation, e.g. with @DataPoints({"dataset1", "dataset2"}), and then specifying which named set to consider as potential values for each parameter using the @FromDataPoints annotation.

    Parameters with no specified source (i.e. without @FromDataPoints or other @ParameterSuppliedBy annotations) will use all DataPoints that are assignable to the parameter type as potential values, including named sets of DataPoints.

    DataPoints methods whose array types aren't assignable from the target parameter type (and so can't possibly return relevant values) will not be called when generating values for that parameter. Iterable-typed datapoints methods must always be called though, as this information is not available here after generic type erasure, so expensive methods returning iterable datapoints are a bad idea.

     @DataPoints
     public static String[] dataPoints = new String[] { ... };
     
     @DataPoints
     public static String[] generatedDataPoints() {
         return new String[] { ... };
     }
     
     @Theory
     public void theoryMethod(String param) {
         ...
     }
     
    See Also:
    Theories, Theory, DataPoint, FromDataPoints
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      java.lang.Class<? extends java.lang.Throwable>[] ignoredExceptions  
      java.lang.String[] value  
    • Element Detail

      • value

        java.lang.String[] value
        Default:
        {}
      • ignoredExceptions

        java.lang.Class<? extends java.lang.Throwable>[] ignoredExceptions
        Default:
        {}