Home | History | Annotate | Download | only in junitparams
      1 package junitparams;
      2 
      3 import java.lang.annotation.ElementType;
      4 import java.lang.annotation.Retention;
      5 import java.lang.annotation.RetentionPolicy;
      6 import java.lang.annotation.Target;
      7 
      8 import junitparams.custom.CustomParameters;
      9 import junitparams.custom.FileParametersProvider;
     10 import junitparams.mappers.DataMapper;
     11 import junitparams.mappers.IdentityMapper;
     12 
     13 /**
     14  * Denotes that parameters for a annotated test method should be taken from an
     15  * external resource.
     16  *
     17  * @author Pawel Lipinski
     18  */
     19 @Retention(RetentionPolicy.RUNTIME)
     20 @Target(ElementType.METHOD)
     21 @CustomParameters(provider = FileParametersProvider.class)
     22 public @interface FileParameters {
     23 
     24     /**
     25      * File name (with full path) of the file with data.
     26      */
     27     String value();
     28 
     29     /**
     30      * The mapper which knows how to get the data from the external resource and
     31      * turn it into a valid set of parameters. By default it is an
     32      * IdentityMapper, meaning the resource has exactly the same format as the
     33      * <p/>
     34      * &#064;Parameters annotation value (when passed as String), being CSV.
     35      */
     36     Class<? extends DataMapper> mapper() default IdentityMapper.class;
     37 
     38     /**
     39      * Encoding to use when reading file contents.
     40      */
     41     String encoding() default "UTF-8";
     42 
     43 }
     44