Annotation Type DataPoints

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.

 public static String[] dataPoints = new String[] { ... };
 public static String[] generatedDataPoints() {
     return new String[] { ... };
 public void theoryMethod(String param) {

See Also:
Theories, Theory, DataPoint, FromDataPoints

Optional Element Summary
 Class<? extends Throwable>[] ignoredExceptions
 String[] value


public abstract String[] value


public abstract Class<? extends Throwable>[] ignoredExceptions

Copyright © 2002–2021 JUnit. All rights reserved.