Annotation Interface DataPoint


@Retention(RUNTIME) @Target({FIELD,METHOD}) public @interface DataPoint
Annotating an field or method with @DataPoint will cause the field value or the value returned by the method to be used as a potential parameter for theories in that class, when run with the Theories runner.

A DataPoint is only considered as a potential value for parameters for which its type is assignable. When multiple DataPoints exist with overlapping types more control can be obtained by naming each DataPoint using the value of this annotation, e.g. with @DataPoint({"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.

 @DataPoint
 public static String dataPoint = "value";
 
 @DataPoint("generated")
 public static String generatedDataPoint() {
     return "generated value";
 }
 
 @Theory
 public void theoryMethod(String param) {
     ...
 }
 
See Also:
  • Element Details

    • value

      String[] value
      Default:
      {}
    • ignoredExceptions

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