All Downloads are FREE. Search and download functionalities are using the official Maven repository.

junitparams.Parameters Maven / Gradle / Ivy

package junitparams;

import java.lang.annotation.*;

import javax.lang.model.type.*;

/**
 * THE annotation for the test parameters. Use it to say that a method takes
 * some parameters and define how to obtain them.
 * 
 * @author Pawel Lipinski
 */
@Retention(RetentionPolicy.RUNTIME)
public @interface Parameters {
    /**
     * Parameter values defined as a String array. Each element in the array is
     * a full parameter set, comma-separated. The values must match the method
     * parameters in order and type.
     * Example: @Paramers({
     *                    "1, joe, 26.4, true", 
     *                    "2, angie, 37.2, false"}
     */
    String[] value() default {};

    /**
     * Parameter values defined externally. The specified class must have at
     * least one public static method starting with provide
     * returning Object[]. All such methods are used, so you can
     * group your examples. The resulting array should contain parameter sets in
     * its elements. Each parameter set must be another Object[] array, which
     * contains parameter values in its elements.
     * Example: @Paramers(source = PeopleProvider.class)
     */
    Class source() default NullType.class;

    /**
     * Parameter values returned by a method within the test class. This way you
     * don't need additional classes and the test code may be a bit cleaner. The
     * format of the data returned by the method is the same as for the source
     * annotation class.
     * Example: @Paramers(method = "examplaryPeople")
     * 
     * You can use multiple methods to provide parameters - use comma to do it:
     * Example: @Paramers(method = "womenParams, menParams")
     */
    String method() default "";
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy