blob: df2683bb5d6f6193df6d76bebeebff39c8b6d8cf [file] [log] [blame]
package org.testng;
import java.io.Serializable;
import java.util.List;
/**
* Describes a TestNG annotated method and the instance on which it will be invoked.
*
* This interface is not meant to be implemented by users.
*
* <p>
* Modified by Google
* <ul>
* <li>removed java.reflect.Method</li>
* </ul>
*
* @author Cedric Beust, May 3, 2004
*/
public interface ITestNGMethod extends Comparable, Serializable, Cloneable {
/**
* @return The real class on which this method was declared
* (can be different from getMethod().getDeclaringClass() if
* the test method was defined in a superclass).
*/
Class getRealClass();
ITestClass getTestClass();
/**
* Sets the test class having this method. This is not necessarily the declaring class.
*
* @param cls The test class having this method.
*/
void setTestClass(ITestClass cls);
/**
* Returns the corresponding Java test method.
* @return the corresponding Java test method.
*/
Object getMethod();
/**
* Returns the method name. This is needed for serialization because
* methods are not Serializable.
* @return the method name.
*/
String getMethodName();
/**
* @return All the instances the methods will be invoked upon.
* This will typically be an array of one object in the absence
* of an @Factory annotation.
*/
Object[] getInstances();
/**
* Needed for serialization.
*/
long[] getInstanceHashCodes();
/**
* @return The groups this method belongs to, possibly added to the groups
* declared on the class.
*/
String[] getGroups();
/**
* @return The groups this method depends on, possibly added to the groups
* declared on the class.
*/
String[] getGroupsDependedUpon();
/**
* If a group was not found.
*/
String getMissingGroup();
public void setMissingGroup(String group);
/**
* Before and After groups
*/
public String[] getBeforeGroups();
public String[] getAfterGroups();
/**
* @return The methods this method depends on, possibly added to the methods
* declared on the class.
*/
String[] getMethodsDependedUpon();
void addMethodDependedUpon(String methodName);
/**
* @return true if this method was annotated with @Test
*/
boolean isTest();
/**
* @return true if this method was annotated with @Configuration
* and beforeTestMethod = true
*/
boolean isBeforeMethodConfiguration();
/**
* @return true if this method was annotated with @Configuration
* and beforeTestMethod = false
*/
boolean isAfterMethodConfiguration();
/**
* @return true if this method was annotated with @Configuration
* and beforeClassMethod = true
*/
boolean isBeforeClassConfiguration();
/**
* @return true if this method was annotated with @Configuration
* and beforeClassMethod = false
*/
boolean isAfterClassConfiguration();
/**
* @return true if this method was annotated with @Configuration
* and beforeSuite = true
*/
boolean isBeforeSuiteConfiguration();
/**
* @return true if this method was annotated with @Configuration
* and afterSuite = true
*/
boolean isAfterSuiteConfiguration();
/**
* @return <tt>true</tt> if this method is a @BeforeTest (@Configuration beforeTest=true)
*/
boolean isBeforeTestConfiguration();
/**
* @return <tt>true</tt> if this method is an @AfterTest (@Configuration afterTest=true)
*/
boolean isAfterTestConfiguration();
boolean isBeforeGroupsConfiguration();
boolean isAfterGroupsConfiguration();
/**
* @return The timeout in milliseconds.
*/
long getTimeOut();
void setTimeOut(long timeOut);
/**
* @return the number of times this method needs to be invoked.
*/
int getInvocationCount();
void setInvocationCount(int count);
/**
* @return the success percentage for this method (between 0 and 100).
*/
int getSuccessPercentage();
/**
* @return The id of the thread this method was run in.
*/
String getId();
void setId(String id);
long getDate();
void setDate(long date);
/**
* Returns if this ITestNGMethod can be invoked from within IClass.
*/
boolean canRunFromClass(IClass testClass);
/**
* @return true if this method is alwaysRun=true
*/
boolean isAlwaysRun();
/**
* @return the number of threads to be used when invoking the method on parallel
*/
int getThreadPoolSize();
void setThreadPoolSize(int threadPoolSize);
public String getDescription();
public void incrementCurrentInvocationCount();
public int getCurrentInvocationCount();
public void setParameterInvocationCount(int n);
public int getParameterInvocationCount();
public ITestNGMethod clone();
public IRetryAnalyzer getRetryAnalyzer();
public void setRetryAnalyzer(IRetryAnalyzer retryAnalyzer);
public boolean skipFailedInvocations();
public void setSkipFailedInvocations(boolean skip);
/**
* The time under which all invocationCount methods need to complete by.
*/
public long getInvocationTimeOut();
public boolean ignoreMissingDependencies();
public void setIgnoreMissingDependencies(boolean ignore);
/**
* Which invocation numbers of this method should be used (only applicable
* if it uses a data provider). If this value is an empty list, use all the values
* returned from the data provider. These values are read from the XML file in
* the <include invocationNumbers="..."> tag.
*/
public List<Integer> getInvocationNumbers();
public void setInvocationNumbers(List<Integer> numbers);
/**
* The list of invocation numbers that failed, which is only applicable for
* methods that have a data provider.
*/
public void addFailedInvocationNumber(int number);
public List<Integer> getFailedInvocationNumbers();
/**
* The scheduling priority. Lower priorities get scheduled first.
*/
public int getPriority();
public void setPriority(int priority);
}