Home | History | Annotate | Download | only in testng
      1 package org.testng;
      2 
      3 
      4 import java.util.Collection;
      5 import java.util.List;
      6 import java.util.Map;
      7 
      8 import org.testng.internal.annotations.IAnnotationFinder;
      9 import org.testng.xml.XmlSuite;
     10 
     11 import com.google.inject.Injector;
     12 
     13 /**
     14  * Interface defining a Test Suite.
     15  *
     16  * @author Cedric Beust, Aug 6, 2004
     17  *
     18  */
     19 public interface ISuite extends IAttributes {
     20 
     21   /**
     22    * @return the name of this suite.
     23    */
     24   public String getName();
     25 
     26   /**
     27    * @return The results for this suite.
     28    */
     29   public Map<String, ISuiteResult> getResults();
     30 
     31   /**
     32    * @return The object factory used to create all test instances.
     33    */
     34   public IObjectFactory getObjectFactory();
     35   public IObjectFactory2 getObjectFactory2();
     36 
     37   /**
     38    * @return The output directory used for the reports.
     39    */
     40   public String getOutputDirectory();
     41 
     42   /**
     43    * @return true if the tests must be run in parallel.
     44    */
     45   public String getParallel();
     46 
     47   public String getParentModule();
     48 
     49   public String getGuiceStage();
     50 
     51   /**
     52    * @return The value of this parameter, or null if none was specified.
     53    */
     54   public String getParameter(String parameterName);
     55 
     56   /**
     57    * Retrieves the map of groups and their associated test methods.
     58    *
     59    * @return A map where the key is the group and the value is a list
     60    * of methods used by this group.
     61    */
     62   public Map<String, Collection<ITestNGMethod>> getMethodsByGroups();
     63 
     64   /**
     65    * Retrieves the list of all the methods that were invoked during this run.
     66    * @return a collection of ITestNGMethods belonging to all tests included in the suite.
     67    * @deprecated Use getAllInvokedMethods().
     68    */
     69   @Deprecated
     70   public Collection<ITestNGMethod> getInvokedMethods();
     71 
     72   /**
     73    * @return a list of all the methods that were invoked in this suite.
     74    */
     75   public List<IInvokedMethod> getAllInvokedMethods();
     76 
     77   /**
     78    * @return All the methods that were not included in this test run.
     79    */
     80   public Collection<ITestNGMethod> getExcludedMethods();
     81 
     82   /**
     83    * Triggers the start of running tests included in the suite.
     84    */
     85   public void run();
     86 
     87   /**
     88    * @return The host where this suite was run, or null if it was run locally.  The
     89    * returned string has the form:  host:port
     90    */
     91   public String getHost();
     92 
     93   /**
     94    * Retrieves the shared state for a suite.
     95    *
     96    * @return the share state of the current suite.
     97    */
     98   public SuiteRunState getSuiteState();
     99 
    100   /**
    101    * @return the annotation finder used for the specified type (JDK5 or javadoc)
    102    */
    103   public IAnnotationFinder getAnnotationFinder();
    104 
    105   /**
    106    * @return The representation of the current XML suite file.
    107    */
    108   public XmlSuite getXmlSuite();
    109 
    110   public void addListener(ITestNGListener listener);
    111 
    112   public Injector getParentInjector();
    113 
    114   public void setParentInjector(Injector injector);
    115 
    116   /**
    117    * @return the total number of methods found in this suite. The presence of
    118    * factories or data providers might cause the actual number of test methods
    119    * run be bigger than this list.
    120    */
    121   List<ITestNGMethod> getAllMethods();
    122 }
    123