package org.testng; import java.util.Collection; import java.util.List; import java.util.Map; import org.testng.internal.annotations.IAnnotationFinder; import org.testng.xml.XmlSuite; import com.google.inject.Injector; /** * Interface defining a Test Suite. * * @author Cedric Beust, Aug 6, 2004 * */ public interface ISuite extends IAttributes { /** * @return the name of this suite. */ public String getName(); /** * @return The results for this suite. */ public Map getResults(); /** * @return The object factory used to create all test instances. */ public IObjectFactory getObjectFactory(); public IObjectFactory2 getObjectFactory2(); /** * @return The output directory used for the reports. */ public String getOutputDirectory(); /** * @return true if the tests must be run in parallel. */ public String getParallel(); public String getParentModule(); public String getGuiceStage(); /** * @return The value of this parameter, or null if none was specified. */ public String getParameter(String parameterName); /** * Retrieves the map of groups and their associated test methods. * * @return A map where the key is the group and the value is a list * of methods used by this group. */ public Map> getMethodsByGroups(); /** * Retrieves the list of all the methods that were invoked during this run. * @return a collection of ITestNGMethods belonging to all tests included in the suite. * @deprecated Use getAllInvokedMethods(). */ @Deprecated public Collection getInvokedMethods(); /** * @return a list of all the methods that were invoked in this suite. */ public List getAllInvokedMethods(); /** * @return All the methods that were not included in this test run. */ public Collection getExcludedMethods(); /** * Triggers the start of running tests included in the suite. */ public void run(); /** * @return The host where this suite was run, or null if it was run locally. The * returned string has the form: host:port */ public String getHost(); /** * Retrieves the shared state for a suite. * * @return the share state of the current suite. */ public SuiteRunState getSuiteState(); /** * @return the annotation finder used for the specified type (JDK5 or javadoc) */ public IAnnotationFinder getAnnotationFinder(); /** * @return The representation of the current XML suite file. */ public XmlSuite getXmlSuite(); public void addListener(ITestNGListener listener); public Injector getParentInjector(); public void setParentInjector(Injector injector); /** * @return the total number of methods found in this suite. The presence of * factories or data providers might cause the actual number of test methods * run be bigger than this list. */ List getAllMethods(); }