blob: dd260dfe7e85c801fb0e57546205f8c1afa4befa [file] [log] [blame]
package org.testng;
import java.io.Serializable;
import java.util.List;
/**
* This interface is used to augment or replace TestNG's algorithm to
* decide whether a test method should be included in a test run.
*
* Created on Sep 26, 2005
* @author cbeust
*/
public interface IMethodSelector extends Serializable {
/**
* @param context The selector context. The implementation of this method
* can invoke setHalted(true) to indicate that no other Method Selector
* should be invoked by TestNG after this one. Additionally, this
* implementation can manipulate the Map object returned by
* getUserData().
* @param method The test method
* @param isTestMethod true if this is a @Test method, false if it's a
* configuration method
* @return true if this method should be included in the test run, false
* otherwise
*/
public boolean includeMethod(IMethodSelectorContext context,
ITestNGMethod method, boolean isTestMethod);
/**
* Invoked when all the test methods are known so that the method selector
* can perform additional work, such as adding the transitive closure of
* all the groups being included and depended upon.
*/
public void setTestMethods(List<ITestNGMethod> testMethods);
}