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 */ value()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 * @Parameters annotation value (when passed as String), being CSV. 35 */ mapper()36 Class<? extends DataMapper> mapper() default IdentityMapper.class; 37 38 /** 39 * Encoding to use when reading file contents. 40 */ encoding()41 String encoding() default "UTF-8"; 42 43 } 44