org.testng.annotations.Test Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of testng Show documentation
Show all versions of testng Show documentation
Testing framework for Java
package org.testng.annotations;
import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.TYPE;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
/**
* Mark a class or a method as part of the test.
*
* @author Cedric Beust, Apr 26, 2004
*/
@Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
@Target({METHOD, TYPE, CONSTRUCTOR})
public @interface Test {
/**
* The list of groups this class/method belongs to.
*/
public String[] groups() default {};
/**
* Whether methods on this class/method are enabled.
*/
public boolean enabled() default true;
/**
* The list of variables used to fill the parameters of this method.
* These variables must be defined in the property file.
*
* @deprecated Use @Parameters
*/
@Deprecated
public String[] parameters() default {};
/**
* The list of groups this method depends on. Every method
* member of one of these groups is guaranteed to have been
* invoked before this method. Furthermore, if any of these
* methods was not a SUCCESS, this test method will not be
* run and will be flagged as a SKIP.
*/
public String[] dependsOnGroups() default {};
/**
* The list of methods this method depends on. There is no guarantee
* on the order on which the methods depended upon will be run, but you
* are guaranteed that all these methods will be run before the test method
* that contains this annotation is run. Furthermore, if any of these
* methods was not a SUCCESS, this test method will not be
* run and will be flagged as a SKIP.
*
* If some of these methods have been overloaded, all the overloaded
* versions will be run.
*/
public String[] dependsOnMethods() default {};
/**
* The maximum number of milliseconds this test should take.
* If it hasn't returned after this time, it will be marked as a FAIL.
*/
public long timeOut() default 0;
/**
* The maximum number of milliseconds that the total number of invocations on this test
* method should take. This annotation will be ignored if the attribute invocationCount
* is not specified on this method.
* If it hasn't returned after this time, it will be marked as a FAIL.
*/
public long invocationTimeOut() default 0;
/**
* The number of times this method should be invoked.
*/
public int invocationCount() default 1;
/**
* The size of the thread pool for this method. The method will be invoked
* from multiple threads as specified by invocationCount.
* Note: this attribute is ignored if invocationCount is not specified
*/
public int threadPoolSize() default 0;
/**
* The percentage of success expected from this method.
*/
public int successPercentage() default 100;
/**
* The name of the data provider for this test method.
* @see org.testng.annotations.DataProvider
*/
public String dataProvider() default "";
/**
* The class where to look for the data provider. If not
* specified, the dataprovider will be looked on the class
* of the current test method or one of its super classes.
* If this attribute is specified, the data provider method
* needs to be static on the specified class.
*/
public Class> dataProviderClass() default Object.class;
/**
* If set to true, this test method will always be run even if it depends
* on a method that failed. This attribute will be ignored if this test
* doesn't depend on any method or group.
*/
public boolean alwaysRun() default false;
/**
* The description for this method. The string used will appear in the
* HTML report and also on standard output if verbose >= 2.
*/
public String description() default "";
/**
* The list of exceptions that a test method is expected to throw. If no
* exception or a different than one on this list is thrown, this test will be
* marked a failure.
*/
public Class[] expectedExceptions() default {};
/**
* If expectedExceptions was specified, its message must match the regular expression
* specified in this attribute.
*/
public String expectedExceptionsMessageRegExp() default ".*";
/**
* The name of the suite this test class should be placed in. This
* attribute is ignore if @Test is not at the class level.
*/
public String suiteName() default "";
/**
* The name of the test this test class should be placed in. This
* attribute is ignore if @Test is not at the class level.
*/
public String testName() default "";
/**
* @deprecated Use singleThreaded
*/
public boolean sequential() default false;
/**
* If set to true, all the methods on this test class are guaranteed to run
* sequentially, even if the tests are currently being run with parallel="true".
*
* This attribute can only be used at the class level and will be ignored
* if used at the method level.
*/
public boolean singleThreaded() default false;
/**
* The name of the class that should be called to test if the test
* should be retried.
* @return String The name of the class that will test if a test method
* should be retried.
*/
public Class retryAnalyzer() default Class.class;
/**
* If true and invocationCount is specified with a value > 1,
* then all invocations after a failure will be marked as a SKIP
* instead of a FAIL.
*/
public boolean skipFailedInvocations() default false;
/**
* If set to true, this test will run even if the methods
* it depends on are missing or excluded.
*/
public boolean ignoreMissingDependencies() default false;
/**
* The scheduling priority. Lower priorities will be scheduled first.
*/
int priority() default 0;
}