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 theTheories
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:
- {}
-
-