1 package org.testng; 2 3 import java.io.Serializable; 4 import java.util.List; 5 6 /** 7 * This interface is used to augment or replace TestNG's algorithm to 8 * decide whether a test method should be included in a test run. 9 * 10 * Created on Sep 26, 2005 11 * @author cbeust 12 */ 13 public interface IMethodSelector extends Serializable { 14 15 /** 16 * @param context The selector context. The implementation of this method 17 * can invoke setHalted(true) to indicate that no other Method Selector 18 * should be invoked by TestNG after this one. Additionally, this 19 * implementation can manipulate the Map object returned by 20 * getUserData(). 21 * @param method The test method 22 * @param isTestMethod true if this is a @Test method, false if it's a 23 * configuration method 24 * @return true if this method should be included in the test run, false 25 * otherwise 26 */ includeMethod(IMethodSelectorContext context, ITestNGMethod method, boolean isTestMethod)27 public boolean includeMethod(IMethodSelectorContext context, 28 ITestNGMethod method, boolean isTestMethod); 29 30 /** 31 * Invoked when all the test methods are known so that the method selector 32 * can perform additional work, such as adding the transitive closure of 33 * all the groups being included and depended upon. 34 */ setTestMethods(List<ITestNGMethod> testMethods)35 public void setTestMethods(List<ITestNGMethod> testMethods); 36 37 } 38